shell >与echo造成的漏洞

本文记录了一个关于文件写入过程中遇到的奇怪现象:使用tcpdump持续向文件写入数据,并每小时清空一次文件,却发现文件大小异常增大。通过分析发现,问题在于文件指针未被正确重置导致。

一、背景:

今天发现一个几十M的文件,head -10竟然好长时间没有出结果,这个文件做了什么操作呢

1.tcp持续对文件输入

 tcpdump -i any -s 0 -l -w - dst port 3306 | strings > a.log

2.一小时清空一次文件

echo '' > a.log

二、现象

echo操作之后

# 发现文件大小确实为空
du -h a.log
# 发现文件大小没有变为空,很大
ll -h a.log

三、解释

这个现象很奇怪,和同事讨论了一阵,觉得是 > 这种输出到文件的时候,指针一直在增长,echo操作虽然把文件置为空了,但并没有把该文件的指针也放到最前边,所以ll查看才会越来越大。目前我也不清楚这种解释对不对,先记录下

四、解决

# 改成如下写法 > 变成 >>
 tcpdump -i any -s 0 -l -w - dst port 3306 | strings >> a.log
root@zzz-virtual-machine:/home/11/Chapter4/实战12 Shell shock 漏洞(CVE-2014-6271)# docker exec -it 12shellshockcve-2014-6271-web-1 ps aux | grep apache root@zzz-virtual-machine:/home/11/Chapter4/实战12 Shell shock 漏洞(CVE-2014-6271)# docker exec -it 12shellshockcve-2014-6271-web-1 netstat -tuln | grep :80 root@zzz-virtual-machine:/home/11/Chapter4/实战12 Shell shock 漏洞(CVE-2014-6271)# cat victim.cgi #!/usr/local/bash-4.3.0/bin/bash echo "Content-type: text/html" echo "" echo '<html>' echo '<head>' echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' echo '<title>Bash ShellShock</title>' echo '</head>' echo '<body>' echo '<p>' echo 'Hello world' echo '</p>' echo '</body>' echo '</html>' exit 0root@zzz-virtual-machine:/home/11/Chapter4/实战12 Shell shock 漏洞(CVE-2014-6271)# \curl --noproxy '*' -v http://127.0.0.1/cgi-bin/victim.cgi * Trying 127.0.0.1:80... * Connected to 127.0.0.1 (127.0.0.1) port 80 (#0) > GET /cgi-bin/victim.cgi HTTP/1.1 > Host: 127.0.0.1 > User-Agent: curl/7.81.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 404 Not Found < Date: Mon, 01 Dec 2025 06:42:26 GMT < Server: Apache/2.4.10 (Debian) < Content-Length: 291 < Content-Type: text/html; charset=iso-8859-1 < <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL /cgi-bin/victim.cgi was not found on this server.</p> <hr> <address>Apache/2.4.10 (Debian) Server at 127.0.0.1 Port 80</address> </body></html> * Connection #0 to host 127.0.0.1 left intact root@zzz-virtual-machine:/home/11/Chapter4/实战12 Shell shock 漏洞(CVE-2014-6271)#
最新发布
12-02
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值