在开始前简单对xss做个介绍,之前的第二篇其实我就有提到,关于注入本质以及需要满足的条件。这里再简单的说一下
注入的本质:
把用户输入的数据当作代码执行。
注入需要满足的条件:
1. 用户能够控制输入。
2. 原本程序要执行的代码,拼接了用户输入的数据,然后进行执行。
疑问三联:
要问什么是xss?根据注入本质套就是:
将用户输入的数据当成html代码执行(拼接恶意的html代码)
xss能做什么?
1.盗取cookie(用的最多的)
2.获取内网ip
3.获取浏览器保存的明文密码
4.截取网页屏幕
5.获取网页上的键盘记录(某不愿透露姓名的人士表示被获取了电话号)
如何检测是否存在xss?
别问,问就是弹窗:<script>alert(1)</script> #注:这是最经典的
最后再简单说下xss类型
反射型 (仅对你这次注入有影响,简单说就是只有这个url有影响)
存储型 (将你输入的数据存入了数据库,别人访问都能触发)
DOM型 (这个说起来有些复杂,百度吧)
lesson1,介绍了下啥是xss,开头已经说了,不在赘述。
lesson2还是介绍,然后有个小测,问cookie一样么,回答yes过关
lesson3-6依然在介绍xss。。。
lesson7,反射型xss
反射型xss,为了省事直接抓包测试
正常测试会盲x,但是我这里盲x下会爆错,因为有的应该是规定了输入类型,所以一个个测试吧
这个靶场只能按部就班,我试了下dom事件的xss竟然不成功,必须用题目给的payload
lesson8-9说了基于反射型的dom型xss和存储xss
lesson10,大意就是找测试页然后钓鱼,问题是问路径是啥
随便输点东西就能给个js的提示,然后在js中找关于路径的描述
按照题目的思路输入答案,成功过关
lesson11依然是dom型,然后利用上一题的路径进行攻击
构造payload
start.mvc#test/%3Cscript%3Ealert(webgoat.customjs.phoneHome())
然后根据问题,进入控制台查看随机数
输入答案过关
lesson12讲了下存储型xss,定义以及危害
lesson13,存储型xss的练习,直接在评论框中构造payload,和lesson11一样调用函数
alert(webgoat.customjs.phoneHome())
输入答案过关
lesson14-15主要讲的就是防范了,最好的方式肯定是白名单机制,但是白名单也有局限性,要考虑用户体验性
未完待续。。。
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
奖励系统 | 50.00 | 0 | 2020-04-30 09:09:57 | 投稿满 5 赞奖励 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
xiaoc
发表于 2020-3-30
加油,老哥
评论列表
加载数据中...