首页
学习
活动
专区
圈层
工具
发布

网络安全自学篇-PHP代码审计(三)

SQL注入

原理:用户输入的数据被当做SQL语句执行

案例:

MySQL建立数据库admin,库中有表user,四个字段,分别是id,username,password,email

插入三条记录

构造登录界面

login.html

MySQL处理流程 login.php

读者可自行尝试验证SQL注入漏洞,后面记录下二次注入

一阶注入(案例在上面):

一阶SQL注入发生在一次HTTP请求和响应中,即攻击者发送恶意请求后服务器立即接收该请求并作出响应,例如在参数?id=1后面添加单引号可能有报错提示。

二阶注入(二次注入):

二阶注入会发生在两次HTTP请求和响应中,攻击者提交恶意数据并使其存储在数据库中,攻击者利用web应用检索存储在数据库中的恶意数据,造成二次注入。

构造注册页面

reg.html

MySQL处理流程

reg.php

构造检索界面

search.html

MySQL处理流程

二次注入验证:

注册一个账号,使其用户名为’ union select * from 1,2,database(),4#

数据库中存储的恶意数据

检索

拼接成SQL语句为

下一篇
举报
领券