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

相关推荐
其实防守也摸鱼10 分钟前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
数字化顾问10 分钟前
(142页PPT)PLM+ERP系统选型及建设方案建议书(附下载方式)
数据库
木白CPP11 分钟前
[QNX] 深入理解 Resource Manager 接口设计
linux·服务器·数据库
Shadow(⊙o⊙)15 分钟前
MySQL C/C++链接MySQL使用
数据库·sql·mysql
Mortalbreeze21 分钟前
MySQL 基础篇(五):数据操作基础 —— CRUD
linux·服务器·数据库·mysql
Shadow(⊙o⊙)22 分钟前
mysql为创建普通用户并创建库赋权
数据库·sql·mysql
Studying 开龙wu30 分钟前
CVAT 导出崩溃排查实录:一个空壳轨迹引发的连锁反应
数据库·sqlite
PaperData9 小时前
1985-2025年全国区县专利申请与授权面板数据
数据库
snpgroupcn9 小时前
大数据量SAP迁移方案:系统越大,越不能硬搬
数据库·sap
Flynt10 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式