无心的梦呓 · 2019年09月27日

正则过滤不完整造成的储存xss

今天下午在审计一款非法网站的时候,发现了一个有趣的东西,因为之前在审计其他站的时候,所有的输入全部都是用正则去匹配的,当时恶心的我,尝试了很多方法都没有绕过,但是这也让我在之后注意了正则的问题,碰到的时候都会去看看能不能绕过。

恰好今天就碰了个正着,这个是一个获取用户登陆时浏览器和系统版本的一段代码(绝对时从网上copy的,网上一搜一大把)

file

在这么长的代码里面,最值得我们注意的是中间几行

file

相信看到这里,大家就都懂了的

file

我们仅仅只需要在登陆的时候,将ua进行修改,就可以将其记录到后台登陆日志中,如果在所有的流程中都没有进行过滤的话,将直接形成xss

file

file

payload:

···
User-Agent: (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) OmniWeb/7</td><script>alert(1)</script>.103
···

payload大家自己根据实际的情况去进行过滤就好了

之后在查看登陆日志的时候就可以成功触发了

file

这个程序是在成功登陆之后才会有记录的,如果某个程序记录全部登陆操作的话,那将会直接触发xss了。

文章首发公众号:无心的梦呓(wuxinmengyi)

这是一个记录红队学习、信安笔记,个人成长的公众号

扫码关注即可

file

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息