bwapp
bwapp简介
buggy web Application 这是一个集成了各种常见漏洞和最新漏洞的开源Web应用程序,目的是帮助网络安全爱好者、开发人员和学生发现并防止网络漏洞。包含了超过100种漏洞,涵盖了所有主要的已知Web漏洞,包括OWASP Top10安全风险,最重要的是已经包含了OpenSSL和ShellShock漏洞。
bwapp安装
我这里使用的是docker安装的,首先要安装docker,这里我有就不说了。(想看可以看这里–>here)
然后开始安装:(以下都是root权限)
docker search bwapp
选用star最多的仓库安装:
docker pull raesene/bwapp
查看拉取的镜像:
docker images
运行看看:
docker run -dt --name bWapp -p 8000:80 --rm raesene/bwapp
查看运行页面:(访问8000端口)
发现报错:Connection failed: Unknown database 'bWAPP'
,访问install.php页面下载数据库。
点击安装即可:
成功,重新访问页面:
默认账号密码为:bee/bug。
好了,可以开始愉快的玩耍了。
HTML Injection - Reflected (GET)
low
首先当然是low级别练练手了。
先来个<script>alert(1);</script>
试试水,成功。
在来个<a href='https://www.baidu.com'>here</a>
看看:
成功,注入链接,点击即可跳转到我们指定的目标页。
medium
再次尝试我们之前的注入<script>alert(1);</script>
,发现没有成功,回应返回我们的注入内容:
推测是有字符被编译为实体,看看源码:
可以看到只有<>
被转换为实体了,但是后面用了urldecode()函数解码,所以我们可以把被查找转义的<>
先url编码然后再输入:
%3cscript%3ealert(1);%3c/script%3e
成功。
high
同样<script>alert(1);</script>
先行,还是原样输出,应该还是被转义了,看源码:
发现这里用了htmlspecialchars()
函数把特殊字符进行了转义。无解欸。
HTML Injection - Reflected (POST)
low
与上一关相同,只是改为了POST传输。
<script>alert(1);</script>
<a href='https://www.baidu.com'>here</a>
medium
%3cscript%3ealert(1);%3c/script%3e
high
无解。
HTML Injection - Reflected (URL)
low
首先尝试在url上直接构造攻击:?a=<script>alert(1);</script>
。
由回显可以知道<>
已被url编码,所以用burp抓包修改: