OWASP-XSS跨站脚本攻击
打开靶机,进入dvwa
XSS reflected:反射型
查看源码,发现对输入的字符未作任何处理
尝试查看cookie信息
输入<script>alert(document.cookie)</script>
成功获取cookie.
脚本包含在url中
等级设置为M,发现有对输入的数据作替换
考虑<script>中嵌套一个<script>
<script<script>>alert(document.cookie)</script>
成功获取!
等级设置为H,发现是用htmlspecialchars方法作的处理
相对安全。
XSS stored: 存储型
stored是把脚本内容存储到sql中,每一个用户来访问都会触发xss
L等级下未作处理
尝试<script>alert(document.cookie)</script>
发现name字段有作长度的限制,F12,修改长度
设置为大一些的值之后成功获取了cookie
之后每次访问这个页面都会有这个弹窗
等级设置为M
发现对name字段也之后一个替换script的处理
考虑script中嵌套script
成功获取cookie.
总结:
1,把cookie设为httponly
//设置cookie response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");
2,对表单的输入框作类型的限制,如int
3,对输入的数据作html encode处理
4,过滤特殊标签,如<script><iframe>等