V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tail2
V2EX  ›  程序员

毕设网站防篡改系统老师说我难度不够?

  •  
  •   tail2 · 2019-04-25 17:33:56 +08:00 · 6011 次点击
    这是一个创建于 2040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看了 12 年的一个硕士论文, 照着论文大概实现了一下, 只能对本机的网页实现防篡改。

    老师给了我三个增加难度的方向。

    1.把 watchdog 的源码看懂, 然后把源代码自己实现一遍。

    2.在对本机网页防篡改的基础上, 实现对其它服务器的防篡改。

    3.处理高并发的情况。

    这里面最简单的应该是第二个了, 但是我有个疑问, 我要是对其它服务器上的网页实现防篡改, 我肯定得先用爬虫把人家的网页爬下来做一个备份, 然后不断监测人家的网页是否被篡改, 如果篡改再报警或者恢复。

    那我如何恢复别的服务器上的网页呢? 求大佬指点~~~

    27 条回复    2019-04-30 19:13:22 +08:00
    udev
        1
    udev  
       2019-04-25 17:46:40 +08:00
    本机你是文件驱动过滤么?别人机器如果不装插件( HOOK )是没法恢复的,只能用 WAF 的思路,反向代理,你在中间缓存,做 DOM 节点的防篡改监视以及恢复,发现修改后,直接返回你混存的给访客,以我们生产标准看,其实也不容易了,能写好就是一个产品了。
    0ZXYDDu796nVCFxq
        2
    0ZXYDDu796nVCFxq  
       2019-04-25 17:53:04 +08:00
    @udev @tail2
    一直不明白防篡改的原理
    不在源站加插件的。假如源站上线了个新版本,加了个 js
    那防篡改系统怎么知道我这是正常的修改还是被篡改?
    udev
        3
    udev  
       2019-04-25 17:58:22 +08:00
    @gstqc 你说的是怎么判定是否修改这个策略,业内都是基于规则的,所以分静态 /动态 /数据库,专业的文件防篡改基本都是驱动级,监视读写动作,然后对比,告警,恢复。
    reus
        4
    reus  
       2019-04-25 18:05:16 +08:00   ❤️ 5
    感觉很民科
    tail2
        5
    tail2  
    OP
       2019-04-25 19:05:08 +08:00 via Android
    @udev 本机我是用 tomcat 的过滤器拦截请求, 然后判断请求的网页是否被篡改, 恢复后再返回网页。
    还有遍历文件夹, 循环判断每个文件是否被篡改。
    tail2
        6
    tail2  
    OP
       2019-04-25 19:07:55 +08:00 via Android
    @gstqc 这个问题老师也问我了, 我没答出来…
    tail2
        7
    tail2  
    OP
       2019-04-25 19:14:18 +08:00 via Android
    @udev 那我用爬虫爬网页, 然后备份文件和摘要在本机, 然后隔一段时间判断爬取网页和本机的备份比较来判断是否被篡改呢?
    singerll
        8
    singerll  
       2019-04-25 19:17:58 +08:00 via Android
    目录遍历也会被定义为一种攻击
    tail2
        9
    tail2  
    OP
       2019-04-25 19:27:56 +08:00 via Android
    @singerll 大佬有啥思路吗?
    0ZXYDDu796nVCFxq
        10
    0ZXYDDu796nVCFxq  
       2019-04-25 20:03:21 +08:00 via Android
    @tail2 #7 肯定不行的,动态网页是没法爬的
    tail2
        11
    tail2  
    OP
       2019-04-25 20:12:35 +08:00
    @udev WAF 和网页防篡改系统不是两种产品吗?
    singerll
        12
    singerll  
       2019-04-25 20:17:12 +08:00 via Android
    @tail2 我也不怎么了解,原来项目上用过一套防篡改系统,大概就是需要部署客户端,文件的修改需要先修改防篡改策略
    tail2
        13
    tail2  
    OP
       2019-04-25 20:18:00 +08:00
    @gstqc 能对静态网页防篡改也行呐
    liang7878
        14
    liang7878  
       2019-04-25 20:28:37 +08:00
    你这个思路是有点简单啊,简单的意思是,你说一遍,人家看一遍就懂了,真的太简单了。。想办法搞复杂一点,弄一些 fancy 的名词包装一下。
    tail2
        15
    tail2  
    OP
       2019-04-25 21:15:47 +08:00 via Android
    @liang7878 看的论文是 12 年的,,, 以前看的论文比较新, 要用服务器底层编程根本不懂,就照着 12 年的做了, 老师说这个放几年前还行
    xenme
        16
    xenme  
       2019-04-25 21:36:05 +08:00 via iPhone
    看到这里还没搞明白。

    本机就是个文件监视器?远程怎么监视?
    2010
        17
    2010  
       2019-04-25 21:52:03 +08:00
    @tail2 md5 值来校验比对?
    liang7878
        18
    liang7878  
       2019-04-26 00:05:54 +08:00
    @tail2 #15 这个方法有点 naive,看你怎么包装了,验证的话如果你能够扯上区块链的话可能你们老师会觉得比较牛逼,毕竟目前做验证用区块链显得很有噱头。
    autogen
        19
    autogen  
       2019-04-26 00:29:14 +08:00
    楼主你自己的想法是想做一个抢票 App 吗
    rubycedar
        20
    rubycedar  
       2019-04-26 00:37:09 +08:00 via iPhone
    楼主可能需要先 getshell 一下
    autogen
        21
    autogen  
       2019-04-26 00:38:55 +08:00
    楼主没说明白,

    是想对自己网站防篡改,还是想监控别人网站修改?

    是想对网站源码防篡改,还是想对数据库防篡改?

    是想对 HTML/CSS/JS 防篡改,还是 PHP,还是 VBS,还是 JSP,还是 CLASS,还是 EXE ?



    -
    whoami9894
        22
    whoami9894  
       2019-04-26 00:59:59 +08:00 via Android
    没看懂防篡改到底要干嘛,防存储 XSS 插入恶意前端代码?防上传后端可执行代码?还是防 mitm 导致客户端拿到的代码被篡改?
    而且 watchdog 貌似就是监控目录下文件变动吧,所以就是我说的第二种。。感觉意义不大。。。而且监控其他服务器的 web 目录要先有权限吧,那到头来还是和本机没啥区别
    qianmeng
        23
    qianmeng  
       2019-04-26 06:00:37 +08:00 via Android
    你这个思路不太对吧,对其他服务器防篡改,应该拥有这些服务器的管理权限,直接安装防护软件,控制端放在本地机器,这样才合理,否则人家的服务器你都没权限,你防篡改有什么意义?那不是越权了吗?
    参考一下云锁和 ga01,现在流行的是防护端,云平台,还有一个和云平台结合的管理端。
    防篡改主要是看看服务器上的网页文件有没有什么改动,有改动的话,把原来的文件留下一个版本记录备份,分析新文件里面有没有什么问题。目录遍历查看修改时间然后标记什么的
    zwh2698
        24
    zwh2698  
       2019-04-26 07:05:31 +08:00 via Android
    你不是本地都实现了监控么,那么把本地这个功能做成客户端和服务器模式。用户的网站需要安装客户端,变化通知服务器,服务器下决策。恢复的内容放在另一个服务器上。基本上论文就能过了
    wangxiaoaer
        25
    wangxiaoaer  
       2019-04-26 09:07:47 +08:00
    @tail2 #5 第一次看到,首先你这是检测更新不是检测篡改,其次你自己的过滤器被篡改了咋办?
    stephenliubp
        26
    stephenliubp  
       2019-04-26 11:16:03 +08:00
    看看这个反爬虫技术方案:github.com/ FantasticLBP/ Anti-WebSpider
    tail2
        27
    tail2  
    OP
       2019-04-30 19:13:22 +08:00
    @autogen 对网页内容防篡改呀
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5620 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:06 · PVG 16:06 · LAX 00:06 · JFK 03:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.