转载请注明!环境是PHPWAMP,firefox(Firefox没有xssfilter)。如果不方便下载环境和dvwa,可以留言和留邮箱,看到会分享到邮箱。1介绍。2.低级代码利用。3.中间代码利用。4.高级代码利用。5.终极代码学习。1.简介DVWA是一个攻击演练系统。XSS使自己的脚本在网站上运行,造成一系列危险后果。上面提到的反射型和存储型的主要区别在于,存储型的执行脚本会保存在数据库中,并且会长期有效。2.低级代码使用DVWASecurity调整为low。代码位置在dvwa/vulnerabilities/xss_s/source/low.php,内容如下图:代码说明:trim是去除用户输入内容前后的空格。stripslashes是去掉反斜杠,两个只会去掉一个。mysqli_real_escap_string过滤掉内容中的特殊字符,如x00,n,r,,',",x1a等,防止数据库攻击。这段代码不过滤检查xss,name列为例,它限制input,我们可以右键检查元素,改变大小,maxlength属性本来是10,可以改大一点,如图:输入执行结果如下:3、中间代码使用DVWASecurityTransfertomedium,代码位置/dvwa/vulnerabilities/xss_s/source/medium.php如下图:trim过滤前后空格。strip_tags去除HTML、XML、PHP标签。htmlspecialchars将<,>等字符转换为实体。如果ipt>alert(/aa/),执行结果如下:②大小写混合,输入在name栏中,执行结果如下:只要打开这个页面,就会提示,因为存储的xss将脚本添加到数据库中,只要打开页面,就会触发。4、进阶代码使用DVWASecurity,将难度调高。代码位置在dvwa/vulnerabilities/xss_s/source/high.php如下图:这段代码和中间的只是多了一次正则校验,原来的混写和大写无效。但是htmlspecialchars只是对message信息进行校验,并不能防止name的xss漏洞。和昨天说的反射xss机制一样,可以看看昨天的反射xss,这里加深印象,老规矩,使用img的onerror,输入
