SQL注入总结
文章平均质量分 67
以开源项目sqli-labs闯关模式进行学习,并总结sql注入的各种情况。
多学点技术
不多学点技术,迟早要露馅儿!!!
展开
-
【Less-13】POST注入之报错注入
文章目录一、测试注入点二、报错注入一、测试注入点这关只有输入为真回显字母为蓝色,假为红色,也会报错,所以可以用报错和盲注。这里是用')来闭合uname=admin') or '1'='1'#&passwd=admin&submit=Submit这里使用报错注入,具体步骤查看:https://blog.csdn.net/weixin_44032232/article/details/109314974二、报错注入uname=admin') and updatexml(1,原创 2020-11-02 15:36:06 · 238 阅读 · 0 评论 -
【Less-11/12】POST注入之用户登录
文章目录一、测试注入点二、抓包查看请求参数三、万能密码登录四、构造注入语句1、判断字段数2、查看回显3、查看当前数据库和当前用户4、查看当前数据库所有表5、查看users表的列名、6、查看用户名和密码一、测试注入点测试username是否存在sql注入:正常输入用户名和密码提交后url没有变化,【POST请求】由上图所示存在字符型注入。同理测试password是否存在sql注入二、抓包查看请求参数查看POST请求中需要的请求参数这里我将执行后的sql语句直接打印在页面上了。源码:原创 2020-11-02 15:09:20 · 313 阅读 · 0 评论 -
【Less-9/10】盲注之时间盲注
目录一、知识铺垫二、时间盲注复现1、测试注入点2、爆表名3、爆列名4、爆内容一、知识铺垫sql中的if表达式:语法:IF( expr1 , expr2 , expr3 )expr1 的值为 TRUE,则返回值为 expr2expr1 的值为FALSE,则返回值为 expr3SELECT IF(TRUE,1+1,1+2);-> 2 SELECT IF(FALSE,1+1,1+2);-> 3 SELECT IF(STRCMP("111","222"),"不相等","相等原创 2020-10-30 11:29:28 · 493 阅读 · 2 评论 -
【Less-8】盲注之布尔盲注
目录一、知识铺垫1、substr字符串截取函数2、sql中limit使用3、python中的string模块二、布尔盲注复现1、测试注入点2、判断数据库名长度3、猜数据库名4、判断表名长度5、猜表名6、判断字段名长度7、猜字段名8、判断数据长度9、猜数据一、知识铺垫SQL操作函数:1、substr字符串截取函数语法:substr(string,start,length)例如:select substr(‘abcdefg’,3,4) from dual;【结果是cdef】select .原创 2020-10-29 16:01:46 · 1426 阅读 · 1 评论 -
【Less-7】into outfile写入webshell
目录一、测试注入点二、判断字段数三、into outfile写入webshell一、测试注入点源码:$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";$result=mysql_query($sql);$row = mysql_fetch_array($result); if($row) { echo '<font color= "#FFFF00">'; echo 'You are in.... Us原创 2020-10-28 15:16:24 · 634 阅读 · 0 评论 -
【Less-5/6】报错注入
目录一、报错注入知识铺垫1、extractvalue函数2、updatexml函数二、报错注入复现1、判断注入点2、报错查询三、总结一、报错注入知识铺垫报错注入:extractvalue、updatexml报错原理在mysql高版本(大于5.1版本)中添加了对XML文档进行查询和修改的函数:ExtractValue() 使用XPath表示法从XML字符串中提取值UpdateXML() 返回替换的XML片段当这两个函数在执行时,如果出现xml文档路径错误就会产生报错。1原创 2020-10-27 18:07:16 · 424 阅读 · 0 评论 -
【Less-4】双引号报错字符型注入 + 需要闭合“)“
目录前言1、测试是否存在注入点前言提示:基于错误,单引号,数字型注入,与前两关不同的是需要闭合括号1、测试是否存在注入点http://localhost/sqli-labs/Less-4?id=1'尝试输入双引号http://localhost/sqli-labs/Less-4?id=1"源码$id = '"' . $id . '"'; // 直接将输入的内容两边拼接上双引号 "1"$sql="SELECT * FROM users WHERE id=($id) LIMIT.原创 2020-10-27 15:24:21 · 467 阅读 · 0 评论 -
【Less-3】单引号报错字符型注入 + 需要闭合 “)“
目录前言1、测试是否存在注入点2、判断字段数3、查看回显点4、联合查询1)查看当前用户和当前数据库名:2)查看当前库所有表名:3)查看users表中的列名:4)查看用户名和密码:前言提示:基于错误,单引号,字符型注入,与前两关不同的是需要闭合括号1、测试是否存在注入点http://localhost/sqli-labs/Less-3?id=1'源码$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";$result=mysql_q.原创 2020-10-27 15:04:25 · 646 阅读 · 0 评论 -
【Less-2】单引号报错数字型注入
目录前言1、测试是否存在注入点前言提示:这个题目是基于错误,单引号,数字型注入1、测试是否存在注入点http://localhost/sqli-labs/Less-2/?id=1'http://localhost/sqli-labs/Less-2/?id=1 and 1=1 -- +http://localhost/sqli-labs/Less-2/?id=1 and 1=2 -- +证明我们后面输入的sql语句被带入到数据库进行查询了,说明存在sql注入后面的查询语句同.原创 2020-10-27 11:38:59 · 210 阅读 · 0 评论 -
【Less-1】单引号报错字符型注入
目录前言1、测试是否存在注入点2、判断字段数3、查看回显点4、联合查询1)查看当前用户和当前数据库名:2)查看当前库所有表名:3)查看users表中的列名:4)查看用户名和密码:前言提示:这个题目是基于错误,单引号,字符型注入1、测试是否存在注入点http://localhost/sqli-labs/Less-1/?id=1'http://localhost/sqli-labs/Less-1/?id=1' and 1=1 -- +http://localhost/sqli-labs/.原创 2020-10-27 11:38:02 · 546 阅读 · 0 评论