SQL注入、XSS、XXE、CSRF、SSRF、越权漏洞、文件上传、文件包含总结篇

SQL注入

什么是SQL注入?

是指web应用程序对用户输入的数据的合法性没有判断或者没有严格的过滤,攻击者可以在web程序中把定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息

就是使用某种手段,在原来的SQL语句基础上,添加一段恶意的SQL语句并执行,从而达到不被管理员允许的目的

怎么防御?

建议在代码中对数字类型的参数先进行数字类型变换,然后再代入到SQL查询 语句中,这样任何注入行为都不能成功。井且考虑过滤一些参数,比如get参数和 post参数中对于SOL语言查询的部分。

  1. 内容过滤

  2. 字符转义,把一些特殊转义,比如PHP配置文件里的magic_quotes_gpc=On
    在这里插入图片描述

  3. 杜绝SQL拼接
    预编译 prepare statement
    在这里插入图片描述
    在这里插入图片描述

  4. 封装错误信息,不要给用户提供任何数据库错误信息

  5. 数据库权限控制

  6. 数据库定义,定义的复杂些

  7. 数据加密,不要明文存储数据

  8. web应用防火墙,WAF

过滤特殊字符

所以防范的时候需要对用户的输入进行检查.
特别式一些特殊字符,比如单 引号,双引号,分号,逗号,冒号,连接号等进行转换或者过建.以下为需过滤 的敏感字符或者语句:
【1】net user
【2】xp_c«ndshel I
【3】add
【4】xec master.(fco. xp_cmdshelI
【5】net I oca Igroup administrators
【6】□select
【7】count
【8】Asc
【9】char
【10】mid
【11】%
【12】,
【13】:
【14】-
【15】 insert
【16】 delete from
【17】 drop table
【18】 update
【19】truncate
【20】 from

修改php.in

修改PHP中默认配置文件php.ini中的配置,来降低sql注入的风险
safe_mode = on //开启安全模式
magic_quotes_gpc = On 〃开启过建函数
display_errors = Off 〃禁止错误信息提示 注:JBnagic_auotes_gpc选项打开,在这种情况下所有的客户端GET和POST 的数据都会自动进行addslashes处理,所以此时对字符串值的SQL注入是 不可行的,但要防止对数字值的SQL注入,如用intvalO等函数进行处理。 但如果你编写的是通用软件,则需要读取服务器的magic_Quotes_gpc后进行相应处理。

使用mysqli_real_escape_string()函数

对于MySQL用户,可以使用函数mysqli_real_escape_string():转义在 SQL 语句中使用的字符串中的特殊字符

在这里插入图片描述

加固数据库方面

1、 不要以sysadmin的身份连接数据库.而是使用特定的数据库用户,只具有读取,写入和更新数据库中适当数据的适当特权。此帐户定期检查, 确定它所具有的特权.
2、 以安全的方式创建SQL。让数据库来完成创建SQL的工作,而不是在代码 中完成。使用参数化SQL语句,同时也能提高查询的效率.
3、 保证数据库用户连接信息非明文保存.

加固管理方面

1.加强编程人员良好的安全编码意识,系统地学习安全编码的知识,减少 源代码泄鸯的风险。
2.建立起良好的代码审核、审查体系.由专人负责代码的审计,增加安全 监督环节。

Mybatis

【1】预编译
在这里插入图片描述

【2】like
1.MySQL
在这里插入图片描述2.Oracle
在这里插入图片描述

3.sql server
在这里插入图片描述

【3】in
在这里插入图片描述

防火墙

XSS

<

  • 26
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值