作者: R1ft

45 篇文章

SQL注入(六)WAF绕过与防御体系
前五篇都在讲怎么打。这一篇讲两边:WAF 分几类、各自的弱点在哪、通用绕过手法逐条配 payload;以及反过来,从代码层到运营层怎么把 SQL 注入按住。 先给一个前提,后面所有内容都建立在它上面:WAF 是降低攻击效率的一层,不是杜绝攻击的一层。它基于规则和特征,绕过它的思路本质上就两种——让 payload 长得不像规则里的样子,或者让 WA…
SQL注入(五)sqlmap 原理、`–os-shell` 与流量特征
这一篇把 sqlmap 这个黑盒拆开。面试问"sqlmap 怎么判断注入的""--os-shell 原理是什么""怎么识别 sqlmap 流量",答案都在这里。 不写基本用法教程。假设你已经会敲 sqlmap -u,讲的是它在背后干了什么。 一、sqlmap 是怎么判断注入的 1.1 六种…
SQL注入(三)多数据库差异、无回显与场景题
前两篇的 payload 默认目标都是 MySQL。这一篇解决两个问题:换成别的数据库怎么写,以及完全看不到回显的时候怎么把数据带出来。 一、先确认打的是什么数据库 数据库类型决定了后面所有 payload 的写法,这一步不能跳。 1.1 从报错判断 最快的办法,前提是报错回显: 报错特征数据库You have an error in your S…
SQL注入(二)联合、报错、盲注与堆叠的完整利用
上一篇讲完了原理、预编译失效的十个场景和注入点定位。这一篇解决下一个问题:确认存在注入之后,数据怎么抠出来。 一、先确定用哪种方式 同一个注入点,能用的手法取决于三件事:页面有没有回显、报错有没有返回给用户、真假两种状态有没有差异。按这个顺序往下判断,第一个满足条件的就是首选: 有正常回显位,union 没被拦 -> 联合查询(最快) 报错信…
SQL注入(一)原理、预编译失效与注入点定位
一、注入的本质是代码和数据的边界被打破 先看一段真实项目里很常见的登录代码: $username = $_POST['username']; $password = $_POST['password']; $sql = "select * from users where username='$username' and password…