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" 一句话木马

相关推荐
这周也會开心37 分钟前
SQL-重要常见关键字
数据库·sql
超级无敌永恒暴龙战士1 小时前
MySQL-delete tableName from ...
数据库·mysql
叫我阿柒啊1 小时前
Java全栈开发工程师的面试实战:从基础到微服务
java·数据库·spring boot·微服务·node.js·vue3·全栈开发
郭俊强5 小时前
nestjs 连接redis
数据库·redis·缓存
海边捡石子5 小时前
postgress数据迁移gaussdb注意事项
数据库
chen_note5 小时前
Redis数据持久化——RDB快照和Aof日志追加
java·数据库·mybatis·持久化·aof·rdb
携欢5 小时前
PortSwigger靶场之SQL injection with filter bypass via XML encoding通关秘籍
xml·数据库·sql
GBASE6 小时前
GBASE南大通用技术分享:GBase 8s数据库Q转义功能解析(上)
数据库
闲人编程6 小时前
PyQt6 进阶篇:构建现代化、功能强大的桌面应用
数据库·python·oracle·gui·脚本·pyqt6·软件
speop6 小时前
【datawhale组队学习】RAG技术 -TASK05 向量数据库实践(第三章3、4节)
数据库·学习