参考:https://cloud.tencent.com/developer/article/1180474
是一个很受欢迎的web攻击靶场,经由同学介绍正是入手,姑且把它看作傻瓜式的dvwa,包含有100多个漏洞
SQL, HTML, iFrame, SSI, OS Command, XML, XPath, LDAP,PHP Code, Host Header and SMTP injections
特点:
bwapp可以单独下载,也可以下载一个虚拟机版本,解压后直接打开虚拟机就可以访问。
拿到的系统默认键盘是乱序的;我们设置如下:
System------preferences------keyboard----layouts------+add【layouts:China】|移除默认------点击:keyboard model【vendors:A4Tech】【Model:A4Tech KB-21】------ok
打开后,点击install
在此提示:如果出现了火狐浏览器界面报告模式错误,就在file选项的倒数第二行,取消勾选。
点击here后,自动进行创建数据库。
用户名:bee,密码:bug,点击start登录后即可进行相应测试。
漏洞类型:注入
影响范围:主站
URL:http://localhost/bWAPP/htmli_get.php
描述:HTML 注入漏洞是指在用户输入的地方,输入 HTML 文本,被当作 GET 参数传到服务器,服务器以原始格式存储,未采用 HTML 编码,导致 HTML 的特性被浏览器解析执行。这种编码必须在服务器端存储参数的时候进行。
威胁程度:严重
选择攻击模式:
查看源代码:
直接在 First name 和 Last name 的文本框内输入 HTML 代码即可:
如: and
使用的hacked.jpg 需要放在服务器端 /var/www/bWAPP
目录下,不然只能是上面的效果。
影响范围:主站
URL:http://localhost/bWAPP/iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250
描述:网页中包含 IFRAME 标签,并且暴露了 URL 中 IFRAME 的参数,导致网页中存在该漏洞。这使得攻击者可以利用 XSS 在流行网站中注入恶意网站连接。注入的内容可以从低危的广告到高危的键盘记录和恶意下载站点。
威胁程度:中危到高危
访问 URL:http://localhost/bWAPP/iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250
结合url和源代码信息:
直接修改其paramurl即可:
3.系统命令注入
漏洞类型:注入
影响范围:主站
URL:http://loaclhost/bWAPP/commandi.php
描述:漏洞产生的原因是 shell 命令能够通过 ';'、'|'、'&&' 这些符号串联起来执行,操作系统本身就支持这种操作。这种漏洞导致恶意 shell 命令可以被执行,比如后台监听某端口或者导致系统崩溃的 fork 炸弹。
威胁程度:高危
lookup结果:
源码分析可以看到网页没有对输入进行检查:'www.baidu.com;cat /eta/passwd'
直接执行了shell命令,并返回了本应只在系统shell中的返回结果。
4.代码注入( PHP 代码注入)
漏洞类型:代码注入
影响范围:主站
URL:http://localhost/bWAPP/phpi.php
描述:代码注入是一种常见的攻击类型,主要是让应用程序识别为代码并执行。这类漏洞主要是由于未对不可信的输入输出数据进行检查所致。如果攻击者能够将代码注入应用程序并得到执行,那就仅仅是被PHP代码的能力限制,而未被应用程序限制。此例中,可以添加PHP代码在对URL的请求上,并得到执行。
威胁程度:严重
打开网址:
提示说这个网页会直接反射我们的输入:
接着我们进行以下输入:设置 message 参数为 message=a;$fp = fopen("/etc/ucf.conf","r");$result = fread($fp,1024); echo $result
这将列出 /etc/ucf.conf
文件的内容:
事实上,应对输入的数据进行检查,利用 htmlspecialchars 函数复写可能被当作代码执行的参数,并且移除 eval 函数,因为 eval 函数非常危险,能够执行任意代码。直观来说,就是不要把用户的输入替换到源代码后一起执行。
漏洞类型:SQL 注入
影响范围:主站
描述:SQL 注入 ( SQLi ) 是一种注入攻击,恶意攻击者可以执行 SQL 语句以控制 web 应用的数据服务器。许多 SQL 语句可以用来测试是否修复了非预期的结果。
威胁程度:严重
打开:www.localhost/bWAPP/sqli_1.php
这边我直接使用参考博主的图啦:
漏洞类型:注入
影响范围:主站
URL:http://localhost/bWAPP/xmli_1.php
描述:XPath 注入是利用了应用支持用户输入,构建相应的语句查询或者访问 XML 文档。XPath 的语法和 sql 查询语法比较相似,构造类似 sql 查询语句能够实现 XML 文档的查询。此处漏洞产生在用户名和密码输入的地方,可以同时设置为 1' or '1' = '1,来获得进一步的信息。
威胁程度:严重
打开后:
设置用户名和密码为1' or '1' = '1,就可获得用户权限:
这是因为数据在送入 xpath 函数之前未经任何检验。假设只有字母和数字才是正确的用户名密码格式,通过检测输入数据是否存在非字母数字的字符来正确避免这一问题。代码中采用了简单的 preg_match 函数对字符串进行检查。对任意刻意的字符串都返回空字符串,因此不会查询任何数据。