目录

    1. BWAPP简介

    buggy web Application,简称BWAPP,这是一个集成了各种常见漏洞和最新漏洞的开源Web应用程序,目的是帮助网络安全爱好者、开发人员和学生发现并防止网络漏洞。包含了超过100种漏洞,涵盖了所有主要的已知Web漏洞,包括OWASP Top10安全风险,最重要的是已经包含了OpenSSL和ShellShock漏洞。

    2. BWAPP安装与配置

    BWAPP是使用php完成的项目,所以需要在本地配置php+apache+mysql的运行环境。安装apache、mysql、php的部分,限于篇幅就不在此表述。需要指出的一点:php在Windows下依赖于指定的VS库,否则运行时会提示加载dll错误。

    将全部的BWAPP项目文件拷贝至php的运行目录下,修改bwapp/admin/settings.php中关于数据库的配置参数,需要注释掉$db_sqlite = “db/bwapp.sqlite”; 。执行bwapp/bWapp.sql文件,在MySQL中创建bWapp数据库,将测试数据写入,这一步也可以通过启动Apache访问http://localhost/install.php来完成。

    最后,运行MySQL、Apache,使用浏览器访问,http://localhost/portal.php,就进入了我们学习Web渗透技术的环境-BWAPP。

    3. 如何验证成功渗透 - 一个弹框

    这是学习渗透技术之前必须考虑的问题。如何才能判断渗透成功?网络上的渗透黑客行为,无非出于以下几点:

    1.出于好奇。出于对新技术的尝试、对系统漏洞的探测,执行一个渗透计划,会造成一定损失,但是不会造成巨大危害。 2.出于金钱。渗透之后,窃取用户信息、系统业务信息,以此要挟谋求金钱,或用于交易,会对企业造成极大伤害。还有可能是竞争对手花钱雇佣的黑客行为。 3.出于其他。还有一些原因就不一一列举了,比如,看着不顺眼╭(╯^╰)╮,被网站坑过,挂js脚本用于DDOS攻击等。

    这些都是通过在Web页面执行一定JavaScript脚本实现的,执行脚本可以发送浏览者的Cookie用于伪造登录请求、可以挂载一些弹框图片诱骗用户点击、可以对指定网站发起DDOS攻击、可以完成能在web页面操作的任何动作。 渗透最关键的就是执行一段js代码,那么为了验证渗透成功,只用证明我们成功执行了一段js代码,比如一个弹框。

    4. 常见的渗透原理与应用

    1.XSS反射型:通过直接在页面注入执行脚本触发。

    比如:http://localhost/xss_get.php?firstname=aa%3Cscript%3Ealert(1)%3C/script%3E&lastname=aaa&form=submit

    XSS反射型攻击直接在url中嵌入javascript脚本。这种漏洞,如果页面有输入框,可以直接尝试输入参数,观察url的变化,如果输入框的内容或页面文本内容随着url变化,那么就可以确定有XSS反射漏洞了。在url参数的后面添加< script >alert(1) < /script >,就可以观察到弹框了。如果页面没有输入框,那么就只能在url后面尝试添加参数和脚本了。

    危害:常用于诱骗用户点击url,窃取cookie中的信息

    2.XSS存储型:注入的脚本会写入数据库,再次访问读取数据时才会触发脚本执行。

    比如,http://localhost/htmli_stored.php,在输入框直接输入< script >alert(1) < /script >,点击submit,并不会立即弹框,而是等待再次访问数据库时,返回前端页面才会执行弹框。

    XSS存储型将执行脚本存入数据库,再次访问是嵌入在页面中执行。这种漏洞的分析关键是找到输入了什么信息,这些信息显示在什么位置。直接查看源代码,找到这些信息所在的html标签,闭合js脚本之前的html标签即可。具体方法是,比如输入aaa,在页面源码中显示在< a href=”aaa”>中,那么可以输入“>< script > alert(1) < /script > 。其中,”用于闭合aaa之前的”符号,>用于闭合a标签的前面一个<,这样就符合html语法定义了。

    危害:不仅仅窃取用户的cookie信息,而且容易引发蠕虫

    3.OS命令、SQL注入:通过闭合后台执行的命令、SQL语句来对系统进行渗透。

    比如:http://localhost/commandi.php ,在输入框输入www.nsa.gov|dir .这条命令的本意是通过nslookup命令来查询域名的IP地址,但是在域名的后面多加了|dir .,拼接起来就变成了nslookup www.nsa.gov|dir .,是两个命令语句,先执行查询任务,再显示当前目录下全部文件。

    web shell和有sql拼接操作的服务需要注意这类攻击。通过闭合合法操作,然后添加,、:、”、&、|,这些符号连接继续执行hack命令。

    危害:危害极大,可能一个命令|rm -rf就可以让整个系统垮掉。在提供此类服务时,一定要注意预防。

    4.中间人攻击。

    比如:http://localhost/xss_stored_4.php ,可以参看另外一篇博文,Burpsuite实践与web越权攻击 中使用BurpSuit的方法,修改请求投中关于浏览器信息的部分,嵌入执行脚本,存入数据库,最后读取到浏览器端执行。

    危害:中间人危害,可以说防不胜防,即使使用https也可以伪造证书,修改请求和返回的响应消息。这种危害会严重泄露个人隐私,账号,密码全部都无法得到保证。但是也不必惊慌,企业网址不会被反向代理劫持,证书不动用巨大计算资源也伪造不出来,更应该防范的是不要随便接入不受信任的网络。