WEB开发中常见漏洞防御方法是什么

发布时间:2022-01-17 18:30:31 作者:柒染
来源:亿速云 阅读:123

这篇文章的内容主要围绕WEB开发中常见漏洞防御方法是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

SQL注入漏洞

数字型查询注入防护

查询例子如下

如果是这样的数字型注入我们可以强制将传入参数转换为整数,以剔除黑客拼接的SQL语句。修改如下

这是这个网页正常查询的返回的结果。

WEB开发中常见漏洞防御方法是什么

这是一个典型的数字型注入,我们输入注入语句可见注入成功

WEB开发中常见漏洞防御方法是什么

我们强制转换类型到代码中:

WEB开发中常见漏洞防御方法是什么

我们再执行注入可以看到恢复正常查询,注入失败。

WEB开发中常见漏洞防御方法是什么

非数字型注入防护-通用防护

如果查询参数不是数字,那么我们该如何防护呢,那么这里可以使用通用型防护,对数字型和非数字型同样适用,我们知道web中获取参数的方式主要有三种分别是get、post、cookie。那么我们防护的主要方面也是这三个方面,我们可以对网站的所有流量进行黑名单过滤。当然这个也可以拦截xss漏洞。具体流程如下:

WEB开发中常见漏洞防御方法是什么

具体实现代码:

测试

同样我们在原先的网站上将我们的waf.php文件包含进去,在执行注入操作,可见我们已经将非法操作拦截。

WEB开发中常见漏洞防御方法是什么

WEB开发中常见漏洞防御方法是什么

使用预处理对注入进行防护

PHP预处理查询的例子

XSS漏洞的防护

转义 htmlspecialchars()

我们知道在数据库查询出来的数据可以打印到网页上,但是数据可能是用户在注册或者输入其他表单输入的,那么这里用户可能输入的是js或者html代码,这里就可能导致,用户输入的代码在浏览器中被解析并执行,那么我们这就可以通过 htmlspecialchars()将其转义为不可解析的字符串,从而避免此类攻击。

这是一个模拟存在xss漏洞的网页。我们进行模拟攻击和修复。

我们传入一个xss攻击代码,可见直接获取了当前网页的cookie内容

WEB开发中常见漏洞防御方法是什么

那我们在输出时候给$id加上htmlspecialchars()呢

我们可以明显看到浏览器不再解析我们传入的js代码,而是将它当做普通字符串输出。

WEB开发中常见漏洞防御方法是什么

通用型防护

将我们sql注入的通用型防护waf.php包含到该网页同样可以实现过滤。

WEB开发中常见漏洞防御方法是什么

CSRF漏洞的防御

TOKEN防护

我们如何验证这个表单是不是我们自己网站本身提交的呢,那么我们可以在每个表单下生成一个隐藏的input表单存放一个TOKEN,在进行表单提交时会验证这TOKEN是否在SESSION上,如果在就执行这个表单的操作,如果TOKEN不在或者根本没提交TOKEN那么说明表单是伪造的,我们直接截断操作。具体流程如下:

WEB开发中常见漏洞防御方法是什么

防护代码编写:

测试

xss.php

可以看到我们代码非常简单,只要我们通过动态的TOKEN验证,那就会输出check success,否则输出NO-TOKEN!

首先我们直接提交表单是没有问题的直接返回成功

WEB开发中常见漏洞防御方法是什么

但是我们F12将TOKEN值删除再提交呢?

WEB开发中常见漏洞防御方法是什么

可以看到会直接截断

WEB开发中常见漏洞防御方法是什么

web防御中的代码安全:

感谢你的阅读,相信你对“WEB开发中常见漏洞防御方法是什么”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注亿速云网站!小编会继续为大家带来更好的文章!

推荐阅读:
  1. CSRF漏洞分析利用及防御
  2. 中安威士:详解SpringMVC框架中常见漏洞的防御

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

web开发

上一篇:SAP反记账功能怎么用

下一篇:Java怎么实现二叉搜索树的插入、删除功能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》