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

毕业选题是《网页防篡改技术》, 可以做个什么项目, 不要太难?

  •  
  •   tail2 · 314 天前 · 5745 次点击
    这是一个创建于 314 天前的主题,其中的信息可能已经有所发展或是发生改变。

    毕业选题选了基于 internet 的网页防篡改技术, 安全方向没什么基础,现在一头雾水, 求各位学长和大佬给指个方向, 我可以做个什么项目?

    第 1 条附言  ·  313 天前
    大家如果有现成的项目或者是用得到的 github 上的源码贴个链接也是很好的, 谢谢!
    84 回复  |  直到 2019-01-17 14:15:54 +08:00
        1
    lhx2008   314 天前 via Android
    好像听说过,是做个东西监控网页,被人改了就改回来
        2
    d3vil   314 天前 via iPhone
    防 XSS 插件?
        3
    masker   314 天前
    以前好像看过某个大佬的博客就是这样,审查元素改了网页代码,就自动复原并弹窗,超过三次就黑名单了
        4
    hoythan   314 天前
    dom 监听
        5
    fox0001   314 天前 via Android
    防中间人攻击? HTTPS ?
        6
    tail2   314 天前 via Android
    @masker 谢谢给了我一点思路虽然还是一头雾水哈哈
        7
    qsnow6   314 天前 via iPhone
    https md5 tag
        8
    tail2   314 天前 via Android
    @lhx 好像大概是这样, 网上搜不到源码, 忧愁
        9
    tail2   314 天前 via Android
    @hoythan 对, 看到过这个词
        10
    tail2   314 天前 via Android
    @d3vil@[email protected] 大佬们可以说得详细一点嘛_(:з」∠)_
        11
    tail2   314 天前 via Android
    @masker 对了有大佬的联系方式嘛٩( •̀㉨•́ )و?
        12
    niuoh   314 天前 via Android
    网页加载完毕后记录整个网页的字符串 定时重新获取对比之类的吧
        13
    tail2   314 天前 via Android
    @niuoh 是一种思路(●—●)
        14
    geying   314 天前 via iPhone
    签名 检查 回滚?
        15
    lengxu   314 天前   ♥ 1
    把整个网页用 FTP 备份下来,然后实时监控现有网页文件的 hash,如果发现篡改即可用原备份的网页恢复即可实现简单的网页防篡改。
        16
    zyqf2016   314 天前
    哈希 JS 检测?
        17
    zk123   314 天前 via iPhone
    Https,证书
        18
    mauve   314 天前 via Android   ♥ 1
    网页放一张图片不就完事了
        19
    udev   314 天前
    1、代理型(非侵入),就是对静态页面进行篡改监视,并用户请求代理时还原(无法还原目标业务应用真正文件)
    2、驱动型(侵入式),在目标服务器安装文件驱动,监听对文件的读写事件,可以用原来文件进行还原。
    先确定你自己想做能做哪一类?
        20
    tanranran   314 天前   ♥ 1
    1:flash
    2:服务端生成图片 前端显示
        21
    hoythan   314 天前
    ```
    DOM2 级的变动( mutation )事件能在 DOM 中的某一部分发生变化时给出提示。变动事件是为 XML 或 HTML DOM 设计的,并不特定于某种语言。DOM2 级定义了如下变动事件:

    ( 1 ) DOMSubtreeModified:在 DOM 结构中发生的任何变化时触发。这个事件在其他任何事件触发后都会触发。

    ( 2 ) DOMNodeInserted:在一个节点作为子节点被插入到另一个节点中时触发。

    ( 3 ) DOMNodeRemoved:在节点从其父节点中被移除时触发。

    ( 4 ) DOMNodeInsertedIntoDocument:在一个节点被直接插入文档或通过子树间接插入到文档之后触发。这个事件在 DOMNodeInserted 之后触发。

    ( 5 ) DOMNodeRemovedFromDocument:在一个节点被直接从文档中移除或通过子树间接从文档中移除之前触发。这个事件在 DOMNodeRemoved 之后触发。

    ( 6 ) DOMAttrModified:在特性被修改之后触发。

    ( 7 ) DOMCharacterDataModified:在文本节点的值发生变化时触发。
    ```
        22
    chashao   314 天前 via Android
    用 git ?
        23
    zerozerone   314 天前 via Android   ♥ 2
    你监控的是服务端篡改还是客户端篡改,还是中间人篡改
        24
    dangyuluo   314 天前
    杠一下,《基于 internet 的网页防篡改技术》,既然是网页了,还有基于别的东西的网页防篡改技术么?
        25
    autoxbc   314 天前   ♥ 1
    理论上讲,你怎么添加的监听,就可以怎么移除监听
        26
    NBOne   314 天前 via Android
    做做来了,记得发个测试页 让我改改看
        27
    Tink   313 天前 via iPhone
    canvas 画出来网页
        28
    hx1997   313 天前 via Android
    @dangyuluo 有的论文题目很无语,非要搞成“基于 XX 的 XX ”这种形式…
        29
    sdlearn   313 天前 via Android
    git status 最实际
        30
    yingfengi   313 天前 via Android
    @masker 这不叫网页防篡改。。。

    在这防篡改市面上有很多成熟的解决方案
        31
    ShangAliyun   313 天前
    https 传输图片试试
        32
    lihongjie0209   313 天前
    找个安全厂商咨询一下, 不就清楚了吗
        33
    dontaskcece   313 天前 via Android
    做成 jpg,放 cdn 上,设置 expire,看谁能改
        34
    annielong   313 天前
    是监控服务器的文件还是监控浏览器显示出来的页面?第一种好做, 第二种不好办,浏览器无法控制,使用 js 也有可能禁用
        35
    NBOne   313 天前 via Android
    @dontaskcece 防篡改 应该是不能增减、修改页面内容 换成图片 虽然改有点困难,但是可以很容易增减啊。再说,图片也可以改的啊
        36
    SwiftFrank   313 天前   ♥ 1
    https://juejin.im/post/5c137f37f265da6133567735 前端安全相关的分享文, 给你参考一下.
        37
    weixiangzhe   313 天前
    写个防运营商注入的吧,挺烦这个的
        38
    heiybb   313 天前 via Android
    想到是直接一个 watchdog 就好了
        39
    dremy   313 天前 via iPhone
    基于 ingernet ?貌似应该跟网络传输有点关系,但这样的话论文标题应该改为《防止“基于 internet 的网站篡改”技术》吧?
        40
    crs0910   313 天前 via iPhone
    https://github.com/rrweb-io/rrweb
    这个库可能有技术是你用得到的
        41
    wizardoz   313 天前
    https 已经实现了啊
        42
    xyaly   313 天前
    无非就是外挂轮询扫描、事件触发实时监控、Web 核心内嵌比对 Md5 和水印、网关缓存、底层驱动层级几种技术。现在常见主要还是基于操作系统底层文件驱动来处理。
        43
    tail2   313 天前
    @annielong 那我就做监控服务器的文件,网上有现成的项目嘛, 搜了好久也没搜到呀, 不知从何下手
        44
    Hypn0s   313 天前 via Android
    canvas 画出来
        45
    ic2y   313 天前
        46
    tail2   313 天前
    @udev 代理型(非侵入)就是监控浏览器显示的页面, 驱动型(侵入式)就是监控服务器上的文件, 我这么理解对嘛?
        47
    stephenliubp   313 天前
    防止篡改可以换个思路,就是让他不知道怎么改、如何改?改了看到的数据也无效。这样子也叫做反爬虫技术,看看 [Web 端反爬虫方案]( https://github.com/FantasticLBP/Anti-WebSpider)
        48
    xyjincan   313 天前
    多级网页服务器
        49
    tail2   313 天前
    @crs0910 thanks, 实用的回答!
        50
    tail2   313 天前
    @xyaly 非常感谢提供这些关键词!
        51
    yinjunjian0   313 天前
    csrf 可以写一堆了
        52
    millken   313 天前
    以前搞过,MD5 是不行的,常见场景是攻击者进入后台,只修改了首页引用的图片内容,首页的 MD5 是不会变的,但是页面实际已经被篡改了。

    一般理解防篡改就是直观感受页面有没有变化(非代码层面),这里可以保存页面的截图,然后对图片使用相似度对比算法。给定一个阈值,当低于阈值就表明图片内容发生了改动。当然这里还要考虑诸如轮播,日期 /时间,ajax 显示等因素。
        53
    jackchao7432   313 天前
    @mauve 那动态页面的呢?
        54
    qilishasha   313 天前
    防篡改只能用于服务器不被攻破,解析服务器不被攻破的理想环境。就是不停的进行文件同步,根本不用检测前端服务器文件是不是被修改,什么鬼文件水印什么的,通通一把梭子——文件同步即可,天存就是这么干的。实际大型 ZF 网站集约化运维经验来看,外围防护现如今已经很牛 X 了。
        55
    TonyGong   313 天前
    可以考虑做个网页虚拟机,把网页转为虚拟机代码,客户端渲染是通过虚拟机实现
        56
    wsstest   313 天前   ♥ 1
    2 种思路
    1.类似 WAF 上带的功能,记录某个页面的响应内容,一旦页面被篡改,对比响应内容不一致,就对响应内容进行替换,换回原来记录的内容
    2.类似防篡改软件的功能,在服务器上写个脚本,实时监控 web 应用所在路径中所有的文件,一旦文件的 md5 发生改变,就进行恢复
        57
    mandex   313 天前
    毕业论文千万不要为了高大上选自己不熟悉的题目.
    不多说了,都是血泪教训
        58
    tail2   313 天前
    @wsstest 请问这两种思路哪个实现起来比较简单呐, 第二种我读起来明白一点
        59
    tail2   313 天前
    @mandex 么得办法呀, 学校改革, 信息安全必须选安全相关的, 要不然做个 web 多好, 哎。。。
        60
    wsstest   313 天前
    @tail2 #58 肯定第二个,直接在服务器跑个脚本,
    for 文件 in 路径:
    记录每个文件的具体路径和 md5,存进 dict 里,每个文件做一个备份
    每隔一段时间循环一次,然后和已有的对比,不一样的就告警,并用备份替换
    同时监控是否有文件被删除或新增,有的话进行恢复 /删除
        61
    tail2   313 天前
    @wsstest 那这样的话代码量会不会很少, 毕业设计好像要求 800 行
        62
    wsstest   313 天前
    @tail2 #61 代码量……请自行学习《如何写出别人无法维护的代码》,里面的各种套路用一用,保证代码量渐长,而且别人还看不出来你在划水
        63
    tail2   313 天前
    @wsstest 哈哈
        64
    holajamc   313 天前
        65
    Jimrussell   313 天前
    infoguard,谷歌一下,国内国外一票名字里挂这个单词基本都是防篡改的产品
        66
    tail2   313 天前
    @holajamc 这是监测静态网页的变化的嘛? 愁那 800 行代码量如何解决
        67
    ljpCN   313 天前 via Android
    直接 Google scholar 搜索,科研的第一步是调研。PS: 也许本科毕设找一篇英文论文实现一下,根据自己的理解写成中文即可(
        68
    tail2   313 天前
    @Jimrussell 有产品没有源代码也看不会呀😭
        69
    davin   313 天前
    想到了某市地铁 Wi-Fi 网络下给 App 里面注入 H 图事情,于是想到了内容安全策略 (CSP)
        70
    anyliz   313 天前
    有公司卖这样的产品
        71
    holajamc   313 天前
    @tail2 嗯我前司也有这个产品,大体上是用 chrome headless 模式获得所有资源加载的状况(存在本地,封装了 Git 当作数据库,之后用了那个库还有很多骚操作来判断 DOM 结构是否变化,以及变化是否合理
        72
    sun019   313 天前
    网页劫持 https 什么的
        73
    LokiSharp   313 天前
    做不到的,你永远无法阻止 F12
        74
    lzvezr   313 天前 via Android
    我这倒是有一个用来篡改的 TampermonkeyJS 脚本😒

    https://raw.githubusercontent.com/lzghzr/TampermonkeyJS/master/iamgroot/iamgroot.user.js
        75
    SummerWQM   313 天前
    中间人 劫持
        76
    phperstar   313 天前
    http://blog.51cto.com/patrick0715/1812193 之前很多 cms 客户,我们是这么来处理的
        77
    5200   313 天前
    防止中间劫持的用 HTTPS,对于审核元素这种修改,之前好像看过一种别人的网站,只要打开 F12 控制台,就一直循环 debug 调试,自动断点,超过几次直接被拉黑了,应该能防止一部分人了吧。
        78
    bany   313 天前
    刚好有朋友是做这块
        79
    libook   313 天前
    可以分析一下用户输入一个网址到网页完全展示完毕中间都经过了哪些过程,然后再一个个分析每个过程可能有什么手段篡改网页,以及如何而应对。

    之前面试考过别人。
        80
    tail2   310 天前
    谢谢大家啦, 我就不一一回复啦, 任重而道远啊。。。
        81
    tail2   308 天前
    @zerozerone 服务端篡改, 就是对文件或文件夹的修改增加删除都进行防篡改嘛?
        82
    tail2   308 天前
    @bany 那你的朋友有没有做过的小项目呀? 600-800 行代码的那种🤭
        83
    bany   307 天前
    @tail2 应该是没有,他做的是一整个系统了
        84
    tail2   307 天前 via Android
    @bany 优秀_(:з」∠)_
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1198 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 23:23 · PVG 07:23 · LAX 15:23 · JFK 18:23
    ♥ Do have faith in what you're doing.