所谓二阶注入(又称存储型注入)是指已存储(数据库、文件)的用户输入被读取后再次进入到SQL查询语句中导致的注入。
二阶注入与普通注入的区别:
(1)普通SQL注入:发生在一个 HTTP请求和响应中,对系统的攻击是立即执
行的:1)攻击者在 http 请求中提交非法输入;2)应用程序处理非法输入,使用非法输入构造SQL语句;3)在攻击过程中向攻击者返回结果。
(2)二阶SQL注入:1)攻击者在 http请求中提交某种经过构思的输入;2)
应用程序存储该恶意输入(通常保存在数据库中)以便后面使用并响应请求;3)
攻击者提交第二次(不同的)http请求;4)为处理第二次http请求,程序会检
索存储在数据库中的恶意输入并进行处理,从而导致攻击者构造的SQL查询被
执行;5)如果攻击成功,在第二次请求响应中向攻击者返回查询结果。
1.访间SQLi-Labs 网站
在攻击机 Pentest-Atk打开FireFox浏览器,并访问靶机A-SQLi-Labs 上的SQLi-Labs 网站Less-24。访问的URL为:
http:/ /[靶机IP]/sqli-labs/Less-24/
2.注册新用户在Less-24的初始页面点击下方的"New User click here?":在用户注册页面新建用户 admin'#,并设置其登录密码(本例中为123456):