安全矩阵

 找回密码
 立即注册
搜索
查看: 2398|回复: 0

基础四-SQL注入小结中篇

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-12-16 21:35:32 | 显示全部楼层 |阅读模式
原文链接:基础四-SQL注入小结中篇

1.注入点不同类型注入
1.1 数字型注入

代码写法:select * from user where id =1
由于是数字,所以一般不考虑引号闭合的问题,当然具体情况还是要具体分析。
案例演示:sqllab靶场

1.2 字符型注入

代码写法:select * from user where name ='x'
(一般存在单引号或者其他符号)
在进行字符型注入时,要注意闭合前后的符号,不然我们的sql语句是执行不了的
案例1:sqllab靶场演示


案例2.实战-华图教育伪静态注入漏洞(乌云网)

1.3 搜索型注入

代码写法:select * from user where name like '%xiaodi%'
(一般存在单引号和百分号,也会有其他符号)
案例演示:pikachu靶场
1.4 JOSN型注入

代码写法:SELECT username,paawd FROM users WHERE username='{$username}'
(只是可能,并不一定这样)下面为部分josn结构格式:

数字:{"age":30 },字符:{"uname":"yang"},

数组:{"sites":[{"name":"yang"},{"name":"ming"}]}
案例演示:本地代码演示

查看源代码,看看sql语句,再构造payload

判断数据库多少列,2正常,3报错

接下来联合查询即可

之后就和正常注入一样了,就不演示了。
小结:由于我们一般是黑盒,不知道源码写法所以我们要多次尝试,寻找闭合字符:',",%,),}等等 ,达到绕过的目的。
2.sql注入-提交方式类型注入
2.1 GET型注入
GET型注入也算我们平时遇到最多的注入,因为注入点就在url链接中的某一个参数中。
案例演示:sqllab靶场
2.2 POST型注入
这个也比较常见,当我们登录时,经常是以POST的形式进行数据提交,这里也是SQL漏洞的一个常发生地。

2.3 Cookie注入
​​
cookie注入其原理也和平时的注入一样,只不过说我们是将提交的参数已cookie方式提交了。
案例演示:CTFhub靶场



我们这里就成功的得到了数据库名,但是要注意的一点是,在平时测试中cookie注入要么是对方使用request接收,要么就是数据库会接收cookie的值。
这里推荐使用hcakbar插件,可以更加方便快捷的进行注入测试。
2.4 HTTP头注入(XFF注入、UA注入、REFERER注入)
什么是http头​这张图片箭头所指,都是他的头部信息,当然不全,当数据包存在这些信息的时候,我们可以尝试在这些地方添加我们的sql语句,来达到注入的目的。
案例演示:UA注入-CTFhub靶场


这里数据库对UA接收的数据过滤不严格,并且带入数据库查询,导致SQL注入漏洞的产生。
小结:这些地方均可能存在注入漏洞,需要我们手动测试。
3.sql注入-查询方式类注入(代码写法只是一般如此)
3.1 select 查询
在网站应用中进行数据显示查询效果

代码写法:select * from news wher id=$id

3.2 Insert 插入
在网站应用中进行用户注册添加等操作
插入在网站应用中进行用户注册添加等操作代码写法:

insertintonews(id,url,text)values(2,′x′,′t')
我们将注册信息抓包,发现均是注入测试点


3.3 update 更新
会员或后台中心数据同步或缓存等操作

代码写法:update user set pwd='id


3.4 Delect 删除
后台管理里面删除文章删除用户等操作

代码写法:delete from news where id=$id

3.5 order by 排列数据
order by是mysql中对查询数据进行排序的方法, 使用示例

select * from 表名 order by 列名(或者数字) asc;升序(默认升序)

select * from 表名 order by 列名(或者数字) desc;降序
案例演示:sqllab靶场46关

通过asc 和desc查看返回数据是否相同来简单判断是否存在order  by注入


之后我们就可以使用报错或者bool进行注入了

报错回显:http://127.0.0.1:8989/sqli-labs- ... ter/Less-46/?sort=1 and(updatexml(1,concat(0x7e,(select database())),0));
小结:对于和后端数据库有交互的地方,都有可能存在SQL注入漏洞,需要我们认真判断和大胆尝试。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-23 08:23 , Processed in 0.013344 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表