机器学习与xss攻击结合实践

实习过程中玩玩好玩的(下班后 别引起误会 2333)

Automatic Generation of Injection Codes using Genetic Algorithm | MBSD Blog

先整一下思路

再开始之前先提几个事

  1. 总的来说是训练模型 像人一样思考
  2. 反射 和 DOM 在设计上需要做出什么区别吗
  3. 除了遗传算法 还可以替换成啥更好地 毕竟文章很老了 可以finetune gpt3吗 2333

遗传算法可以看鄙人以前大作业整的一些花里胡哨的东西

https://b1ue0ceanrun.github.io/2022/06/22/zhinengkongzhiyuanli-HW/

没仔细研究文章之前想想大概是什么样的

把xss给拆了

特征肯定就是这些拆出来的东西

怎么进化??

x失败 -> 淘汰更新 淘汰哪些??

x成功 -> 害进化个毛线

适应性函数怎么定义???

联系起下面的小回忆 特征应该是event 这些乱七八糟的

害是上面的问题 怎么打分

小回忆一下

看看过去是怎么做xss的 先大概回想一下

当时是portswigger 有个list清单

然后分别爆破 event 和 其他的啥 记不太清了

看看 https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

先爆破 tags 然后是 event 然后是

但是如何能超过一般的人(先超过一般的)

阅读笔记

基因? – xss payload中的最小组件

作者说如果只用之前有的payload 不能够创造新的

于是用 https://developer.mozilla.org/en-US/docs/Web/HTML 上来找了一些

emmmm 直接用 portswigger 的是不是也行 也学 他也不全 hh 还是文档来的全些

才 220种 是不是有点少了 作者用的

come on 到了我们最关心的点了

如何打分

 在本次验证中,我们将评价函数设计为以下三个评价标准的组合。

  • HTML语法的正确性
    使用HTML检查工具来评估个人是否具有正确的HTML语法,
    根据检查结果中警告和错误的数量计算分数。
  • 脚本的可执行性
    观察个人(脚本)在浏览器上的可执行性。记住,有一些脚本是在鼠标和键盘事件上执行的。
    根据脚本是否可以执行来计算分数。
  • 被WAF阻止或允许
    在虚拟Web应用程序前部署一个WAF。
    将包含个人(脚本)的HTTP请求发送到虚拟Web应用程序并观察它们是否被WAF阻止或允许。
    根据请求是否被允许来计算分数是否被阻止。

好家伙 这第三点真的有用吗 emmmmmmm 我要辣么多payload干什么

emmm 所以这真的不是不同fuzz吗 这么做真的有意义吗 怀疑

不过可能在模型神奇的正则过滤下会有奇效???

结论

emmmmm 总之 并不认为这项研究有太大的意义

反观上面的手动爆破也许更合适

新的想法?

暂时没有 这玩意想深挖感觉不能靠fuzz 还是要靠手活