SQL注入之Sqli-labs系列第五十关,第五十一关,第五十二关,第五十三关(ORDER BY堆叠注入)
摘要:0x1第五十关 源码中使用的mysqli_multi_query()函数,而之前使用的是mysqli_query(),区别在于mysqli_multi_query()可以执行多个sql语句,而mysqli_query()只能执行一个sql语句,那么我们此处就可以执行多个sql语句进行注入,也就是说的
阅读全文
SQL注入之Sqli-labs系列第四十七关,第四十八关,第四十九关(ORDER BY注入)
摘要:0x1 源码区别点 0x2实例测试 (1)and rand相结合的方式 (2)利用报错的方式进行 (3)另类报错语句 (4)延迟注入 (5)使用into outfile导出文件 进行网马写入 后面的十六进制是<? php phpinfo();?> 0x3第四十八关 这关和第四十七关的区别在于没有报错
阅读全文
SQL注入之Sqli-labs系列第四十六关(ORDER BY注入)
摘要:0X1查看页面 0x2源码 <?php include("../sql-connections/sql-connect.php"); $id=$_GET['sort']; if(isset($id)) { //logging the connection parameters to a file f
阅读全文
SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
摘要:0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 0x2 堆叠注入方式 0x3 第四十二关 本关打开是post,新建用户和重置密码处都无法访问Update更新数据后,经过mysql_real_es
阅读全文
SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)
摘要:0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入。个人认为称之为堆叠注入更为准确。堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据和调用存储过程的目的。这种技术在SQL注入中还是比较频繁的。 (2)原理介绍 在SQL中,分号(;)
阅读全文
SQL注入之Sqli-labs系列第三十六关(基于宽字符逃逸GET注入)和三十七关(基于宽字节逃逸的POST注入)
摘要:0X1 查看源码 从上面看到,这次采用了mysql_real_escape_string函数 0x2 函数讲解 (1)介绍 mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。(2)字符受影响: \x00 \n \r \ ' " \x1a 如果成功
阅读全文
SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关
摘要:开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理。 if(isset($_POST['uname']) && isset($_POST['passwd'])) { $unam
阅读全文
SQL注入之Sqli-labs系列第三十三关(基于宽字符逃逸注入)
摘要:开始挑战第三十三关(Bypass addslashes) 0x1查看源码 本关和第三十二关其实是一样的,只是这里用到了addslashes()函数 function check_addslashes($string) { $string= addslashes($string); return $s
阅读全文
SQL注入之Sqli-labs系列第三十二关(基于宽字符逃逸注入)
摘要:开始挑战第三十二关(Bypass addslashes) 0x1查看源代码 (1)代码关键点 很明显,代码中利用正则匹配将 [ /,'," ]这些三个符号都过滤掉了 function check_addslashes($string) { $string = preg_replace('/'. pr
阅读全文
SQL注入之Sqli-labs系列第三十关(基于WAF防护的双引号报错注入)和三十一关
摘要:开始挑战第三十关和三十一关(Protection with WAF) 0x1 前言 这关其实和29关是同样的,login.php页面存在防护,只要检测到存在问题就跳转到hacked.php页面,不同的是采用的双引号进行闭合而已,其他思路是同样的 0x2 开始测试 (1)输入测试字符,使其报错 (2)
阅读全文
SQL注入之Sqli-labs系列第二十九关(基于WAF防护的单引号报错注入)
摘要:开始挑战第二十九关(Protection with WAF) 0x1查看源码 (1)login.php页面存在防护,只要检测到存在问题就跳转到hacked.php页面(其他信息看备注) 0x2 foreach循环 (1)第一方式 foreache($qs_array as $val) 这里的$qs_
阅读全文
SQL注入之Sqli-labs系列第二十八关(过滤空格、注释符、union select)和第二十八A关
摘要:开始挑战第二十八关(Trick with SELECT & UNION) 第二十八A关(Trick with SELECT & UNION) 0x1看看源代码 (1)与27关一样,只是换了中匹配方式。 (2)i表示正在匹配的模式,i是忽略大小写, s就是匹配任意空白字符,制表符啊,换行啊空格啊等 (
阅读全文
SQL注入之Sqli-labs系列第二十七关(过滤空格、注释符、union select)和第二十七A
摘要:开始挑战第二十七关(Trick with SELECT & UNION) 第二十七A关(Trick with SELECT & UNION) 0x1看看源代码 (1)与26关一样,这次去除了逻辑运算符添加了union seclet。 0x2测试 (1)同样利用26关的方式,采取%a0来代替空格 (2
阅读全文
SQL注入之Sqli-labs系列第二十六关(过滤空格、注释符、逻辑运算符注入)和第二十六A
摘要:开始挑战第二十六关(Trick with comments and space) 0x1看看源代码 (1)过滤了# or and /**/ / \ ,通过判断也过滤了空格 (2)这样一来只能看看其他方式绕过吧,网上找了些资料,对于绕过空格限制有大把的方式对于空格,有较多的方法:%09 TAB键(水平
阅读全文
SQL注入之Sqli-labs系列第二十五关(过滤 OR & AND)和第二十五A关(过滤逻辑运算符注释符)
摘要:开始挑战第二十五关(Trick with OR & AND) 第二十五关A(Trick with comments) 0x1先查看源码 (1)这里的or和and采用了i正则匹配,大小写都无法绕过 (2)看下mysql逻辑运算符,and和or还可以使用&&和||,如下图: 0x2开始测试 (1)首先使
阅读全文
SQL注入之Sqli-labs系列第二十四关(二阶注入)
摘要:开始挑战第二十四关(Second Degree Injections) 0x1 前言 SQL注入一般分为两类:一阶SQL注入(普通SQL注入),二阶SQL注入 。二次注入不是注入两次的意思,请不要混淆 0x2 什么是二阶注入 二阶注入是指客通过构造数据的形式,在浏览器或者其他软件中提交HTTP数据报
阅读全文
SQL注入之Sqli-labs系列第二十三关(基于过滤的GET注入)
摘要:开始挑战第二十三关(Error Based- no comments) 先尝试下单引号进行报错 再来利用and来测试下,加入注释符#,编码成%23同样的报错 再来试试--+,同样的效果 同样的,先看看源代码,这里利用正则查找,对注释符等都进行了过滤 这里一来,注释符不能使用了,只能采用单引号闭合的方
阅读全文
SQL注入之Sqli-labs系列第二十一关(基于复杂性的cookie POST报错注入)和二十二关(基于双引号的cookie POST报错注入)
摘要:开始挑战第二十一关(Cookie Injection- Error Based- complex - string) 这关其实和二十关是一样的,只是这关的cookie采用了base64加密,和单引号括号 来吧,开搞吧,利用单引号进行报错,注意需要利用base64进行转换下,可以利用hackbar的,
阅读全文
SQL注入之Sqli-labs系列第二十关(基于头部的cookie POST报错注入)
摘要:开始挑战第十八关(Cookie Injection-Error Based- string) 前言: 通常开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过滤,但是很多时候,由于个人对安全技术了解的不同,有些开发人员只会对get,post这种方式提交的数据
阅读全文
SQL注入之Sqli-labs系列第十九关(基于头部的Referer POST报错注入)
摘要:开始挑战第十八关(Header Injection- Referer- Error Based- string) 先来说下HTTP Referer: HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服
阅读全文