SQL注入逗号绕过 1.联合查询显注绕过逗号 在联合查询时使用 UNION SELECT 1,2,3,4,5,6,7..n 这样的格式爆显示位,语句中包含了多个逗号,如果有WAF拦截了逗号时,我们的联合查询不能用了. 绕过 在显示位上替换为常见的注入变量或其它语句 union select 1,2,3; union select * from ((select 1)A join (select 2)B join (select 3)C); union select * from ((select…
什么是Boolean型注入 Boolean型的注入意思就是页面返回的结果是Boolean型的,通过构造SQL判断语句,查看页面的返回结果是否报错,页面返回是否正常等来判断哪些SQL判断条件时成立的,通过此来获取数据库中的数据. Boolean型注入实战 这儿以SQLi-Labs less5来进行演示Boolean型盲注实战. 首先查看是否存在注入点 构造payload  http://43.247.91.228:84/Less-5/?id=1 加个单引号  http://43.247.91.22…
首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库.篡改网站.破坏数据库.植入后门.getshell(获取网站权限) 为什么会有SQL注入漏洞? 后端代码在执行的过程将用户输入的数据也当做代码来执行,违背一个原则:代码和数据相分离(本质问题) 前段传递的数据可以随意控制,参数可控:后端对前段传递过来的数据没有过滤或者过滤不严谨,最终导致SQL注入(…
盲注定义: 有时目标存在注入,但在页面上没有任何回显,此时,我们需要利用一些方法进行判断或者尝试得到数据,这个过程称之为盲注. 布尔盲注: 布尔盲注只有true跟false,也就是说它根据你的注入信息返回true和false两个,而不是返回报错信息 时间盲注: 页面返回只有一种,true,不管输入任何信息,返回信息都会按照正常来处理,加入特定的时间函数,通过查看web页面返回的时间差来查看是否存在时间盲注或语句是否正确 布尔盲注常用 length() 函数 返回字符串的长度?id=1 and l…
less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and length(database)=num 破解名字长度. and ascii(substr(database(), 1,1))=num 猜出每一个字母的ascii码.最后得到数据库的名字. 破解所有数据库名字 and (select count(*) from information_schema.sch…
?id= and ,,sleep()) ?id= and ,,sleep()) if语句/if()函数 在基于时间型SQL盲注中,我们经常使用条件语句来判断我们的操作是否正确: ?id= and = ?id= and = 返回的都是同一个页面 用测试语句 and sleep(5) 判断 是否存在时间盲注 构造语句 ?id= and ,))>,,sleep()) 这句话的意思是如果返回的事错误 那我就sleep(5)秒 好的我们的语句构造成功 0X01爆数据库长度 ?id= and ,,sleep…
盲注 那么我们来了解一点盲注的语法 这里面是语法的介绍 https://blog.csdn.net/alex_seo/article/details/82148955 0X01第一步我们先判断当前数据库的长度 语法构造 /index.php?id=%20and%20length((select%20database()))%3E3 正确 index.php?id= and length((select database()))>4 错误 那我们确定数据库名字大于3不大于4 那么数据库长度就是4了…
SQL注入的本质:就是将用户输入的数据当作代码带入执行. 注入条件: 1.用户能控制输入 2.能够将程序原本执行的代码,拼接上用户输入的数据进行执行 首先检查是否存在注入点 Rank1: 构造语句 ?id=1 and 1=1 没有报错 ?id=1 and 1=2 也没有显示错误,检查是否被过滤了 ?id=1' and 1=1 出现错误,说明这里被单引号过滤掉了 ?id=1' and 1=1 --+ 回显正确 存在注入 Rank2: ?id=1 and 1=1 回显正确 ?id=1 and 1=2…
前提知识 数据库:就是将大量数据把保存起来,通过计算机加工而成的可以高效访问数据库的数据集合数据库结构:库:就是一堆表组成的数据集合表:类似 Excel,由行和列组成的二维表字段:表中的列称为字段记录:表中的行称为记录单元格:行和列相交的地方称为单元格在数据库里有一个系统库:information_schema在它里面有个存着所有库名的表:schemata schema_name 库名 在它里面有个存着所有表名的表:tables表名 table_schema 表属于库 table_name  表…
布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length()  返回字符串的长度, 可以返回 数据库 表明 列名的 长度 substr()  截取字符串.subster(string, start, length)   字符串, 从第几位截取,截取长度是多少 ascil()  返回ascil码 基于时间盲注: sleep(n)  将程序挂起一段时间,n为n秒 if(expr1,exp…