BUUCTF 2018 Online Tool

本文介绍了在BUUCTF 2018 Online Tool挑战中,如何利用PHP的escapeshellarg()和escapeshellcmd()函数存在的问题进行命令注入,并详细阐述了攻击过程。作者通过分析代码,发现可以逃脱单引号的限制,结合nmap的-oG参数实现文件写入,最终成功找到flag。文章提醒读者重视命令行注入的练习和理解。
摘要由CSDN通过智能技术生成

BUUCTF 2018 Online Tool

前言

继续刷题,学习,为了成为黑岛的一名工具人而努力!

感谢大佬提供的环境:https://github.com/glzjin/buuctf_2018_online_tool

过程

搭好环境,打开网页,出现一堆代码

1
OK,首先代码审计…又是php,头大…

remote_addr和x_forwarded_for这两个是见的比较多的,服务器获取ip用的,这里没什么用

escapeshellarg()和escapeshellcmd() 没见过,百度

PHP escapeshellarg()+escapeshellcmd() 之殇

直接找到了上面这篇文章,这两个函数在一起用会有些问题

  1. 传入的参数是:172.17.0.2' -v -d a=1
  2. 经过escapeshellarg处理后变成了'172.17.0.2'\'' -v -d a=1',即先对单引号转义,再用单引号将左右两部分括起来从而起到连接的作用。
  3. 经过escapeshellcmd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值