|
|
|
联系客服020-83701501

上传漏洞科普[1]-js验证

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
上传缝隙科普[1]-js考据

关于文件上传缝隙,想必玩web安全的同砚们都有打仗,以前本站也揭橥过一篇文章引见文件上传缝隙的各类绕过举措,但是只是有文档却没有演示代码, 最近给公司一客户培训,就照文档中的绕过写出了相应的代码,不便我等小菜研究,这次的文章我会连续发几天都是关于若何绕过的,全都是科普文,很冗杂的,希 望小伙伴们LOVE。

js考据绕过演示代码

Default
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 <?php/** * Created by 零丁期待 * Date: 14-1-22 * Time: 下午7:19 * Name: upload1.php * 零丁期待博客:http://www.waitalone.cn/ *///文件上传缝隙演示脚本之js考据$uploaddir = 'uploads/';if (isset($_POST['submit'])) {    if (file_exists($uploaddir)) {        if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploaddir . '/' . $_FILES['upfile']['name'])) {            echo '文件上传败北,保存留存于:' . $uploaddir . $_FILES['upfile']['name'] . "n";        }    } else {        exit($uploaddir . '文件夹不具有,请手工设立建设创设!');    }    //print_r($_FILES);}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta http-equiv="Content-Type" content="text/html;charset=gbk"/>    <meta http-equiv="content-language" content="zh-CN"/>    <title>文件上传缝隙演示脚本--JS考据实例</title>    <script type="text/javascript">        function checkFile() {            var file = document.getElementsByName('upfile')[0].value;            if (file == null || file == "") {                alert("你尚无决定任何文件,不克不及上传!");                return false;            }            //定义核准上传的文件范例            var allow_ext = ".jpg|.jpeg|.png|.gif|.bmp|";            //提取上传文件的范例            var ext_name = file.substring(file.lastIndexOf("."));            //alert(ext_name);            //alert(ext_name + "|");            //武断上传文件范例能否核准上传            if (allow_ext.indexOf(ext_name + "|") == -1) {                var errMsg = "该文件不核准上传,请上传" + allow_ext + "范例的文件,当前文件范例为:" + ext_name;                alert(errMsg);                return false;            }        }    </script><body><h3>文件上传缝隙演示脚本--JS考据实例</h3> <form action="" method="post" enctype="multipart/form-data" name="upload" onsubmit="return checkFile()">    <input type="hidden" name="MAX_FILE_SIZE" value="204800"/>    请决定要上传的文件:<input type="file" name="upfile"/>    <input type="submit" name="submit" value="上传"/></form></body></html>

js考据绕过举措

JS考据是最佳绕过,有句话说基于客户真个考据都是不安全的,这里咱们有多种绕过举措。

若何武断文件上传是基于客户端JS考据?

举措也比较多,好比直接查看网站源文件、垄断抓包对象查看客户端能否向效力器提交了数据包,假定没有则是js考据、利便上传一个文件,看返回后果。

文件上传漏洞演示脚本

文件上传漏洞演示脚本

如上图所示,JS考据的会在你提交了上传文件以后,直接弹出一个提醒,并休止文件向效力器提交。绕过举措以下:

A、咱们直接删除代码中onsubmit变乱中关于文件上传时考据上传文件的关连代码便可。

文件上传漏洞演示脚本

B、直接改造文件上传JS代码中核准上传的文件扩充名你想要上传的文件扩充名。

文件上传漏洞演示脚本

C、垄断本地提交表单便可,以下图,作相应的改造。

文件上传漏洞演示脚本

D、垄断burpsuite大假定fiddle等代办署理对象提交,本地文件先改造为jpg,上传时阻挡,再把文件扩充名改造为asp便可。

文件上传漏洞演示脚本

以上4种举措,大家大要从容垄断,都大要绕过本地JS考据。

【via@零丁期待博客】

数安新闻+更多

证书相关+更多