您现在的位置是:焦点 >>正文
webshell一句话木马
焦点9人已围观
简介一句话木马的本质,就是一段能被服务器解析执行、同时又能接收外部输入的极短代码。它不是完整程序,更像一根针——捅进服务器后,攻击者靠这根针往里灌指令。 最早的经典版本出现在PHP环境里,代码短到令人发指 ...
一句话木马的句话本质,就是木马一段能被服务器解析执行、同时又能接收外部输入的句话极短代码。它不是木马完整程序,更像一根针——捅进服务器后,句话攻击者靠这根针往里灌指令。木马
最早的句话经典版本出现在PHP环境里,代码短到令人发指:
<?木马php @eval($_POST['cmd']); ?> 就这一行。上传到目标服务器上任何一个能解析PHP的句话目录,攻击者本地发一个POST请求,木马cmd参数里写什么,句话服务器就执行什么。木马没有回显?句话那就换成system($_GET['c']),或者用assert()、木马preg_replace的句话/e修饰符——版本不同,写法不同,思路一样。
这东西为什么叫“一句话”?因为真的只有一句话。它不像大马那样带文件管理、命令执行、数据库操作的面板界面,它只做一件事:把外部输入当代码跑。功能全靠攻击者自己发指令实现,木马本身只是个通道。
我见过一个真实案例。某次应急响应,客户网站被上传了一个1.php,内容就一行eval。安全人员删掉文件后以为完事,结果第二天又出现了,文件名换成了2.php。查日志发现,攻击者早就在另一个目录埋了第二个一句话,第一个只是诱饵。更麻烦的是,有些一句话木马会伪装成图片的EXIF注释,或者藏在session文件里,常规文件扫描根本扫不出来。
ASP和ASPX环境同样有对应版本。ASP的经典写法是<%eval request("cmd")%>,ASPX则常用PageLanguage="C#"配合Request["cmd"]。JSP那边更隐蔽,有人用Runtime.getRuntime().exec(request.getParameter("cmd")),也有人用自定义类加载器动态编译执行。语言不同,核心逻辑完全一致:接收参数→执行。
防御这件事,光靠删文件没用。上传点得卡死——文件类型白名单、内容检测、重命名策略,一个都不能少。权限也得收——Web目录禁止执行脚本,PHP的disable_functions里把eval、system、exec、passthru全禁掉。但道高一尺魔高一丈,有些一句话用assert、create_function,甚至用include配合远程文件,禁函数列表得跟着更新。
我个人的判断是:一句话木马不会消失。它太简单、太灵活、太容易变种。真正有效的防御不是找特征码,而是让攻击者即使上传成功也执行不了——权限最小化、目录不可写、脚本不可执行、外连被监控。这比追着木马变种跑要靠谱得多。
最后提一句,有些一句话木马会主动删除自身,只留内存马。你翻遍磁盘找不到文件,但请求一发过去,命令照样执行。这时候查phpinfo、看auto_prepend_file、翻.user.ini,比单纯扫文件有用。
Tags:
上一篇:web安全测试基础知识
下一篇:github域名解析
相关文章
成都网站关键词推广
焦点成都春熙路有家冒菜店,老板花了三千块做网站推广,三个月后店里坐满了拉着行李箱来打卡的游客。这事儿魔幻在哪?他们连菜单都没改,就靠一篇《成都人私藏的十家冒菜》的帖子,把关键词“成都冒菜”做到了百度首页。 ...
【焦点】
阅读更多h5网站有哪些
焦点h5网站有哪些 打开手机浏览器,随便点开一个促销页面、游戏活动页,或者某个新产品的品牌介绍,你看到的十有八九是H5网站。这玩意儿早就不是“微信里的小动画”那么简单了。它扛起了移动端营销的大半壁江山,也 ...
【焦点】
阅读更多casino什么意思
焦点赌场里最刺眼的光,永远照在轮盘上。那颗象牙白的小球滚过数字槽,发出干燥的、类似牙齿磕碰的声响。围在桌边的人屏住呼吸,瞳孔里映着绿色台呢——他们不是在赌钱,是在赌一个词的定义。 Casino,意大利语原 ...
【焦点】
阅读更多