ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

SQL 注入练习 01 | PortSwigger Web Security Academy - 登录绕过

SQL 注入练习 01 | PortSwigger Web Security Academy - 登录绕过 1.背景题目PortSwigger Web Security Academy-SQL injection vulnerability allowing login bypass允许登录绕过的SQL注入漏洞实验链接https://portswigger.net/web-security/sql-injection/lab-login-bypass。目标利用登录框的SQL注入漏洞无需密码直接以administrator身份登录后台。2.原理应用程序在构造SQL语句时直接将数据拼接进SQL指令中且没有对用户输入的特殊字符进行过滤或转义。这导致攻击者输入的数据被数据库当成代码执行。3.攻击步骤Step 1:利用category参数的SQL注入找到管理员用户名-拼接URL:?categoryGiftsOR 11---商品列表多出administrator用户Step 2:在登录页用永真条件绕过密码验证-用户名:administrator-密码:OR 11---登录成功4.修复方案使用参数化查询SQL语句的结构预先固定用户输入通过占位符“填空”进去而不是直接拼到SQL里面5.反思这道题让我意识到登录的本质不是验证密码而是信任数据库的判断当SQL注入存在时数据库就可以被欺骗攻击者不需要破译密码就可以轻松登录。至于这个问题为什么这么长时间还会出现的话可能大家都比较注重于更有什么的问题反而忽略了最简单的问题。
返回列表