当前位置: 首页 > 后端技术 > PHP

网站渗透存储型XSS

时间:2023-03-29 18:17:26 PHP

转载请注明!环境是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,输入,结果如图:5、终极代码学习DVWASecurity调整为不可能。代码位置:dvwa/vulnerabilities/xss_s/source/impossible.php如图:token验证。机制和昨天说的反射xss完全一样。如果你对终极代码有好的xss想法,欢迎留言讨论。本文由家教【cpa广告联盟】整理编辑1!转载请注明!