OWASP-XSS跨站脚本攻击

打开靶机,进入dvwa

XSS reflected:反射型

OWASP-XSS跨站脚本攻击

查看源码,发现对输入的字符未作任何处理

OWASP-XSS跨站脚本攻击

尝试查看cookie信息

输入<script>alert(document.cookie)</script>

OWASP-XSS跨站脚本攻击

成功获取cookie.

OWASP-XSS跨站脚本攻击

脚本包含在url中

等级设置为M,发现有对输入的数据作替换

OWASP-XSS跨站脚本攻击

考虑<script>中嵌套一个<script>

<script<script>>alert(document.cookie)</script>

OWASP-XSS跨站脚本攻击

成功获取!

等级设置为H,发现是用htmlspecialchars方法作的处理

OWASP-XSS跨站脚本攻击

相对安全。

 

XSS stored: 存储型

stored是把脚本内容存储到sql中,每一个用户来访问都会触发xss

OWASP-XSS跨站脚本攻击

L等级下未作处理

尝试<script>alert(document.cookie)</script>

OWASP-XSS跨站脚本攻击

发现name字段有作长度的限制,F12,修改长度

OWASP-XSS跨站脚本攻击

设置为大一些的值之后成功获取了cookie

OWASP-XSS跨站脚本攻击

之后每次访问这个页面都会有这个弹窗

等级设置为M

OWASP-XSS跨站脚本攻击

发现对name字段也之后一个替换script的处理

考虑script中嵌套script

OWASP-XSS跨站脚本攻击

成功获取cookie.

总结:

1,把cookie设为httponly

//设置cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");

2,对表单的输入框作类型的限制,如int 

3,对输入的数据作html encode处理

4,过滤特殊标签,如<script><iframe>等