sqlmap防御以及文件读写

一.防御

过滤

1.使用过滤函数

email = filter_var(_POST['email'], FILTER_VALIDATE_EMAIL);

if ($email) { // input is a valid email address }

else { // input is not a valid email address

使用 filter_var() 函数和 FILTER_VALIDATE_EMAIL 过滤器来验证用户输入是否为有效的电子邮件地址,从而减少了发生 SQL 注入攻击的概率

2.过滤和转义用户输入

username = mysqli_real_escape_string(connection, $_POST['username']);

password = mysqli_real_escape_string(connection, $_POST['password']);

query = "SELECT \* FROM users WHERE username='" . username . "' AND password='" . password . "'"; result = mysqli_query(connection, query);

使用 mysqli_real_escape_string() 函数对用户输入进行了转义。将转义后的值插入 SQL 查询字符串中,可以有效地防止 SQL 注入攻击。

布置waf 和安全设备

避免拼接方式工造sql语句

文件读写的条件

1.root权限

2.绝对路径

3.项secure_file_priv

案例

读取文件 load_file()函数

and 1=2 union select 1,load file("c:\\windows\\system32\\drivers\\etc\\hosts"),3

写入 into outfile

and 1=2 union select 1,"",3 into outfile "/var/www/html/1.php" 一句话木马

相关推荐
廋到被风吹走40 分钟前
【数据库】【MySQL】InnoDB外键解析:约束机制、性能影响与最佳实践
android·数据库·mysql
掘根1 小时前
【消息队列】交换机数据管理实现
网络·数据库
Logic1011 小时前
《Mysql数据库应用》 第2版 郭文明 实验6 数据库系统维护核心操作与思路解析
数据库·sql·mysql·学习笔记·计算机网络技术·形考作业·国家开放大学
AI Echoes2 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent
@nengdoudou2 小时前
KingbaseES支持 mysql 的find_in_set函数
数据库·mysql
摇滚侠2 小时前
面试实战 问题三十三 Spring 事务常用注解
数据库·spring·面试
梁萌3 小时前
保姆级的MySQL执行计划(Explain)解读
数据库·mysql·explain·执行计划
JIngJaneIL3 小时前
基于Java+ vue智慧医药系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
杨云龙UP4 小时前
MySQL 8.0.x InnoDB 写入链路优化:Redo Log 与 Buffer Pool 扩容与缓冲区调优实战记录-20251029
linux·运维·数据库·sql·mysql