打开靶场,看到一个输入框,标题已经提示是command execution。 1. 首先输入111|ls 发现文件index.PHP 2. 打开文件index.php,构造payload:111|cat index.php,右击查看网
打开靶场,看到一个输入框,标题已经提示是command execution。
1. 首先输入111|ls
发现文件index.PHP
2. 打开文件index.php,构造payload:111|cat index.php,右击查看网页源代码,发现采用system执行外部命令,且没有任何过滤。
3. 但是通过ls并没有查看到其他文件,于是考虑到使用参数-a显示隐藏文件。构造payload:111|ls -a。显示页面为:
4. 查看隐藏目录。构造payload:111|ls ../,发现两个文件
因为是做题,猜测存在一个flag文件,因此继续向前构造。(感兴趣的话也可以看看文件里都是啥,尤其对于一些名字是系统文件名的文件)
构造payload:111|ls ../../,依然不存在flag文件,继续尝试payload:111|ls ../../../,发现目标文件。
6. 查看文件内容,发现flag。Payload:111|cat ../../../flag
附录:
查看源代码的过程中,看到使用system()函数执行外部命令,好奇其和exec()函数的区别,于是查了一下,由于知识面太窄,在查看区别的过程中,又产生了一系列疑问,以下是按照顺序查找的知识点,附上链接,供自己复习和同样有需要的人查看。
来源地址:https://blog.csdn.net/m0_60911102/article/details/126644800
--结束END--
本文标题: 【BUUCTF刷题记录】[ACTF2020新生赛]Exec
本文链接: https://lsjlt.com/news/406124.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0