0x00bWAPP介绍
bwapp是一款非常好用的漏洞演示平台,包含有100多个漏洞,相对于DVWA练习的更加全面,情景也更加丰富。bwapp可以单独下载,然后部署到apache+php+mysql的环境,也可以下载他的虚拟机版本bee-box。
下载地址:bWAPP
0x01HTML injection Reflected GET
最开始是反射型的html注入,low等级考虑常见的注入如:<svg/onload=alert(2)>即可,也可以选择查看源代码进行对应的绕过,但是因为实际渗透测试环境中大多数时候都是黑盒测试,所以先不看源代码,到实在没有思路的时候再去对应源代码进行绕过吧……
medium等级输入:<svg/onload=alert(2)>没有反应,因为是反射型,可以查看源代码看看输出在源代码中的样子
可以看到尖括号都被替换掉了,所以可以使用尖括号的urlencode形式来绕过检测,通过hackbar就可以快速得到该语句的编码之后的格式:%3csvg%2fonload%3dalert(2)%3e
high等级我是没绕过的,从源代码的返回来看是将尖括号转义了,同时不对输入进行decode,查阅源代码如下:
而对应的medium等级的源代码虽然也有转义但是最后加了decode,所以能够将我们的%3C再转为左尖括号。
0x02HTML injection Reflected POST
POST在这里利用的方式与GET相同。
0x03HTML injection Reflected CURRENTURL
源代码中可以看到是通过document.URL来取当前的url写到页面上。
document.write(document.URL)试着直接在URL后添加 语句,但是由于在URL中被编码了,所以无法解析执行。
在burpsuite中抓到的包显示尖括号已经被编码了
所以这里就可以尝试在burpsuite中直接再将编码的形式改为尖括号。这里只有第一次试验成功,之后都提示连接失败。
0x04HTML injection Reflected stored
low等级还是构造<svg/onload=alert(2)>。
medium等级没有找到直接绕过的办法,但是依旧可以使用burpsuite抓包修改参数的方法强行修改。
在entry插入svg语句依旧能够弹窗,而且此时难度以及被降为low了。对于CTF这是个思路,但是实际渗透还没有遇到过。
0x05 iFrame Injection
开始看了半天不知道这个是啥意思,最后还是看了源代码。可以看到这里判断了是否设置这三个参数,如果没有就会自动生成,所以构造这个paramurl参数的输入
http://127.0.0.1:82/bwapp/iframei.php?ParamUrl=%22onload=alert(2)%3E%3C/iframe%3E&ParamWidth=250&ParamHeight=250
low等级的可以改变paramurl,到了medium就无法改变了,因为在源代码中限制了该参数。
此时可以修改width参数,将输入进行urldecode添加到width属性之后就可以绕过了
http://127.0.0.1:82/bwapp/iframei.php?ParamUrl=ro222bots.txt&ParamWidth=250&ParamHeight=%22%20onload%3dalert(2)%3e%3c%2fiframe%3e
乍一看和上面感觉没有什么差别,但是下面这个在输入的时候是需要先编码的,low等级的时候不需要任何编码就可以