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

本文详细介绍了Web应用中常见的安全漏洞,包括SQL注入、XSS、XXE、CSRF、SSRF、越权漏洞和文件上传/包含漏洞。讲解了每种漏洞的定义、危害、发生位置和防御策略。对于SQL注入,建议使用预编译语句、过滤特殊字符和设置HttpOnly Cookie来防御;XSS防御则包括输入输出过滤和编码;XXE防御可通过禁止外部实体解析;CSRF防御措施包括验证Referer和使用token;SSRF防御可限制请求端口;越权漏洞的防御重点是加强权限验证。文件上传漏洞的防范关键在于文件类型检查和随机文件命名。
摘要由CSDN通过智能技术生成

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

什么是XSS?

SS作为OWASP TOP 10 之一
XSS被称为跨站脚本攻击(Cross-

### 回答1: 现阶段主要的web漏洞包括SQL注入漏洞、跨站脚本攻击(XSS)、XML外部实体注入漏洞、本地文件包含漏洞、远程文件包含漏洞、跨站请求伪造漏洞(CSRF)、服务器端请求伪造漏洞(SSRF)、任意文件上传漏洞等。 ### 回答2: 当前主要的Web漏洞有: 1. 跨站脚本攻击(XSS):攻击者通过在Web应用中插入恶意脚本,实现对用户的攻击,如盗取用户敏感信息、篡改页面内容等。 2. 跨站请求伪造(CSRF):攻击者伪造合法用户的请求,诱使用户点击恶意链接或访问恶意网页,以达到窃取用户信息、执行未经授权操作的目的。 3. SQL注入攻击:攻击者通过在Web应用的输入框中注入恶意SQL语句,从而篡改、删除、插入或泄漏数据库的内容。 4. 文件包含漏洞:攻击者利用Web应用程序的文件包含功能,注入恶意文件路径或代码,导致执行恶意代码或读取未经授权的文件。 5. 不安全的直接对象引用:攻击者通过直接修改参数或URL中的数据来访问未授权的资源,如访问其他用户的数据、越权操作等。 6. XML外部实体注入(XXE):攻击者通过注入恶意的外部实体引用,导致应用程序解析XML时泄漏机密信息、执行任意代码等。 7. 服务器端请求伪造(SSRF):攻击者构造恶意请求,使服务器端在攻击者控制的目标上执行操作,如访问内部服务、攻击内部网络等。 8. HTTP劫持:攻击者通过在网络传输过程中修改HTTP请求或响应的内容,窃取用户信息、篡改页面内容等。 9. 逻辑漏洞:存在于应用程序设计或业务逻辑中的漏洞,可导致应用程序在特定条件下产生不可预料的行为,如越权操作、信息泄露等。 10. 敏感信息泄漏:应用程序在处理用户输入或存储用户数据时,未进行合适的加密或保护,导致用户信息泄漏。 以上是当前主要的Web漏洞,开发者和安全团队需要关注这些漏洞,并采取相应的安全措施来避免和修复漏洞,确保Web应用的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值