第十四次作业
1、CVE-2018-4878漏洞复现
在kali中使用 msfvenom 生成漏洞利用代码
查看生成的文件
修改 CVE-2018-4878-master 文件夹中的 cve-2018-4878.py 文件(改成自己监听端口监听地址的密文)
进行替换
修改 cve-2018-4878.py 文件中的文件生成路径为指定路径
运行python脚本,生成两个文件:exploit.swf、index2.html
开启Apache服务,并将生成的两个文件拷贝到apache服务目录下
在kali上开启监听
Win7系统安装flash插件
使用浏览器访问Kali中生成好的 index2.html 页面
Kali中获得win7机器权限
2、实现WAF安装与配置
安装DVWA,首先在一键启动-WNMP 处设置使用 MySQL+Apache 套件启动Web环境
将DVWA源代码放到网站根目录
编辑phpstudy_pro\WWW\DVWA\config\config.inc.php
修改数据库账号密码为root
运行phpstudy,版本是php7.3.4,同步启动Apache服务
成功安装,启动DVWA,默认密码为admin/password
系统初始化之后使用 SQL_Front 工具修改 dvwa 库下两个表的字符集校对为 utf8_general_ci ,防止
后续出现乱码
安装安全狗(WAF)
首先查看本地服务,看其中是否有apache服务
以管理员身份运行cmd,进入 apache/bin 目录,执行 .\httpd.exe -k install -n apache2.4.39
查看本地服务,可以看到有apache服务
apache服务启动以后,不要调整也不要关闭phpStudy,直接安装安全狗
安装成功,打开安全狗,已经开启了防护功能
3、WAF绕过SQL注入
(1)分别在无WAF和有WAF的情况下,利用SQLMap进行注入,对比注入结果的区别
无WAF:
将DVWA靶场数据包复制到SQLmap目录下,使用-r参数注入
SQLmap开始注入
有WAF:
sqlmap跑出的数据漏洞不全,只能跑出布尔盲注和报错注入
(2)有WAF的情况下,手工注入出DVWA数据库中的user和password
绕过联合注入,1' order by 1--+
被拦截
利用group by绕过
1' group by 3--+
报错,查询到2列
regexp(正则匹配函数),regexp "%0A%23"匹配换行和#,无实际意义,改变语句格式。
使用-1' regexp "%0A%23"/*!11144union %0A select*/ 1,database(%0A /*!11144*/)--+
绕过,成功注入出数据库名为dvwa
同理,注出user()为root@localhost
获取所有的库名
获取dvwa库里面所有的表名
获取users表里面的所有字段
注入出账号密码
md5解密可知账号密码为:admin/password
4、WAF绕过XSS实验
利用base64编码绕过
输入<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgieHNzIHRlc3QiKTs8L3NjcmlwdD4="
使script语句编码,从而绕过WAF
利用svg标签进行绕过,<svg>
标记定义 SVG 图形的容器