CTFHub | web—SQL注入(整数型注入)

SQL注入流程:
1. 是否存在注入并且判断注入类型
2. 判断字段数   order by 
3. 确定回显点      union select 1,2
4. 查询数据库信息    @@version    @@datadir
5. 查询用户名,数据库名     user()   database()
6. 文件读取  union select 1,load_file('C:\\wondows\\win.ini')#
7. 写入 webshell       select..into  outfile...
使用sql注入遇到转义字符串的单引号或者双引号,可使用HEX编码绕过

sql注入干货:请看这里!

SQL注入

题目:

在这里插入图片描述
在这里插入图片描述

题解:

1. 是否存在注入并且判断注入类型

那就先输入1:
在这里插入图片描述
再输入两位数11,
在这里插入图片描述
有点变化!!
作为一名ctf小白,对于sql注入题没有一点儿经验,之后看别人写的题解,原来这叫**回显**,回显是指将用户输入的内容原样返回给用户的操作,或者将程序的执行结果输出到屏幕上。有回显,存在注入点,学到了!!!
在这里插入图片描述
试了n久,思路不对,下面的思路就是借鉴了别人的了

2. 判断字段数

看看存在几行数据,分别用order by 1,order by 2,order by 3···试试
在这里插入图片描述
在这里插入图片描述

3. 确定回显点

到order by 3开始就没有回显了,所以字段数为2
在这里插入图片描述
**我有个问题:为什么判断回显,就可以判断字段数呢?**
于是开始查资料:
回显可以判断字段数的原因在于,当我们在网页或应用程序中填写表单时,输入的数据会被临时存储在服务器端,以便在需要时进行验证或处理。在回显过程中,服务器会将已填写的数据发送回客户端,以便用户在下次访问时能够看到他们之前输入的信息。

通过检查回显数据中的字段数量,我们可以确定表单中有多少个字段被填充了数据。这是因为每个字段在回显数据中都会占据一定的位置,并且可以通过特定的标识符或索引来识别和计数。

例如,在一个包含姓名、电子邮件地址和电话号码字段的表单中,如果回显数据包含了这三个字段的值,那么我们可以确定该表单共有三个字段。同样地,如果回显数据中只包含姓名和电子邮件地址字段的值,那么我们可以确定该表单共有两个字段。

4. 联合查询:

要先将联合查询之前的值设为一个不存在的,一般给-1。
老师,我又有问题【举手】:为什么联合查询前要设一个不存在的值?
原因是:当使用Union操作符连接两个查询结果集时,如果第一个查询结果集为空(即没有匹配的行),则第二个查询结果集将作为最终的结果集返回。

那又有问题了,为什么不直接使用后者,不用union呢
我理解是,查询的条件不止一个,而查询的结果只有一个,直接用后者的话,语法不对,不能这么写,只能用连接操作union联合查询,但为了保证结果是目标查询语句得出的,就需要让第一个结果为不存在(为空)【如果您觉得我理解不对的话,请评论区告诉我哦】

先爆库:database()
-1 union select 1,database()

在这里插入图片描述
出现一个数据库名sqli

接着爆表:tables
-1 union select 1, group_concat(table_name) from information_schema.tables where table_schema='sqli'

在这里插入图片描述
这里爆出了flag和news两个表,

然后爆列:column
-1 union select 1,  group_concat(column_name) from information_schema.columns where table_name='flag'

在这里插入图片描述

最后爆字段:
-1 union select 1,  union select 1, group_concat(flag) from sqil.flag

在这里插入图片描述
拿到flag

如果你觉得文章内容有误,请评论区指出,谢谢~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剑心诀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值