【WEB篇】网络安全面试
1.SQL注入
原理:
没有过滤用户输入的恶意数据,无条件的把用户输入的数据当作SQL语句执行,因此导致SQL注入漏洞产生
waf如何检测:
- WAF 会维护一个已知的 SQL 注入攻击特征库。当用户请求到达时,WAF 会将请求中的数据与特征库进行比对。例如,检测到请求中包含 “UNION SELECT”、“OR 1=1” 等典型的 SQL 注入关键字组合
- 对用户输入的内容进行语法分析,检查其是否符合正常的 SQL 语法结构。例如,一个正常的查询条件可能是 “WHERE id = 123”,而如果出现 “WHERE id = 123; DROP TABLE users” 这样的输入,就能发现其异常
- 通过建立正常用户行为的模型。例如,如果一个用户在短时间内频繁地发送大量包含复杂 SQL 语句的请求,或者请求的频率远远超出了正常用户的操作范围,WAF 就会将其视为异常行为;一个用于查询用户信息的表单,正常情况下只应该接受用户名或用户 ID 等合法的查询条件,但如果用户输入了一段用于修改数据库表结构的 SQL 语句,就是一个异常行为
危害:
- 数据库信息泄漏︰数据库中敏感信息的泄露
- 网页篡改:通过操作数据库对特定网页进行篡改
- 网站被挂马,传播恶意软件︰修改数据库一些字段的值,嵌入网马链接,进行挂马攻击
- 数据库被恶意操作︰数据库信息被破坏,数据库的系统管理员帐户被窜