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

相关推荐
2301_81527952几秒前
怎么管理开启了审计日志的金融级数据库实例_合规访问控制
jvm·数据库·python
2301_803538958 分钟前
SQL如何避免不同团队修改同一张表_基于前缀名的授权GRANT ON语法
jvm·数据库·python
m0_6784854515 分钟前
c++怎么在Windows下设置文件的安全访问控制列表(ACL)权限【底层】
jvm·数据库·python
2301_8176722619 分钟前
Go语言怎么做六边形架构_Go语言六边形架构教程【简明】
jvm·数据库·python
m0_6784854527 分钟前
Pytest 实现两级参数化:让服务名依赖于应用名的灵活测试方案
jvm·数据库·python
Greyson128 分钟前
如何监控集群 interconnect_ping与traceroute验证心跳通畅.txt
jvm·数据库·python
2301_7641505629 分钟前
Redis怎样向Lua脚本传递动态参数
jvm·数据库·python
2401_8654396330 分钟前
CSS如何使用Sass管理全局配置_通过_config文件统一CSS变量
jvm·数据库·python
GuangHeAI_ATing31 分钟前
军工企业数据存储如何保障?横向实测三款航天级SSD的可靠性与性能(含湖南天硕G55系列技术拆解)
大数据·数据库·人工智能
matlabgoodboy31 分钟前
留学生计算机cs作业辅导java SQL数据库 c语言编程 软件工程辅导
java·数据库·sql