HW期间如何防范各种漏洞

2022-12-01 14:47:37 浏览数 (1)

1越权漏洞

不同权限账户之间的存在越权访问

检测

抓去a用户功能链接,然后登录b用户对此链接进行访问

抓去a用户功能链接,修改id为b的id,查看是否能看b的相关数据

替换不同的cookie进行测试查看

防范

在后台服务做严格的用户权限验证

2 sql注入

后台sql语句拼接了用户的输入,而且web应用程序对用户输入数据的合法性没有判断和过滤,前端传入后端的参数是攻击者可控的,攻击者通过构造不同的sql语句来实现对数据库的任意操作。

检测

对注入点进行测试,

单引号,双引号–>报错

And 1=1 and 1=2 ‘or ‘1’ = ‘1 ‘or ‘1’ = ‘2 两次web服务器响应不同

时间延时 sleep(5) 延迟响应

Get post 参数、cookie参数、http请求头

Sqlmap进行测试

防范

对输入参数进行过滤,校验或者采用参数预处理的方式

使用参数化查询,将查询逻辑和查询数据分离

3 xss

攻击者在web页面插入恶意的Script代码,当用户浏览访问时,其中的script代码会被执行,从而达到恶意攻击。

检测

查找可能出现xss跨站的位置,搜索框、信息存储等

常用测试语句

查看源码,测试语句是否在系统响应HTML代码中输出。

可以输出的话进行xss测试

防范

根据实际情况对用户的输入进行严格的过滤

4任意文件上传

攻击者上传web支持的动态脚本程序(asp,asp.net,php,jsp等)

Web程序对用户上传的类型不做检测,或者被绕过

检测

找到可以上传的地方,上传要求合理的合法文件,查看上传点是否可以使用,需要一些绕过姿势(大小写切换,00截断,抓包改类型等等),上传webshell,连刀。

防范

根据实际情况对用户的上传点进行严格的过滤。

前后端校验扩展名。

5目录遍历攻击

攻击者通过目录遍历攻击获取系统文件及服务器的配置文件,攻击者绕过服务器的安全限制,访问文件。

检测

爬行,或者暴力破解系统目录结构。

在url后加常规目录,看是否被列出来

可以利用web漏洞扫描器扫描web应用进行检测,也可通过搜索,网站标题包含 “index of” 关键词的网站进行访问

防范

对用户传过来的参数名进行编码,对文件类型进行白名单控制,拒绝恶意字符或空字符

6关键会话重放攻击

不断恶意或欺诈性地重复一个有效的数据包,重放攻击者可以拦截并重复发该数据到服务端,服务器端未对用户提交的数据包重放进行有效限制。

检测

抓包抓取登录请求,获得用户和密码参数

密码字典 暴力破解

防范

添加token、时间戳、图片验证码

7 csrf

攻击者以用户的身份完成操作达到各种目的

检测

登录网站,使用bp构造csrf poc 保存在html

发送到另一台服务器,访问html查看是否可以实现html功能

防范

验证 http referer字段

在请求地址中添加token并验证 在http头中自定义属性并验证

8 明文传输

对系统用户口令等机密信息的保护不足,攻击者利用攻击工具,从网络上窃取合法用户的口令数据,从而登录系统执行非法操作。

检测

使用工具抓取关于用户的数据包

查看相关参数是否做加密处理

防范

对密码信息进行加密处理

使用加密算法 不使用易破解的加密方式

9文件包含

注入一段用户能控制的脚本或代码,并让服务器端执行,对要包含的文件变量名没有进行检测或初始化。

检测

在文件包含的地方,包含攻击者的文件进行测试

防范

尽量不使用文件包含

使用include,如include(‘test.php’)

包含文件验证–是否为白名单

路径限制,进制目录跳转字符

10 逻辑漏洞

程序逻辑不严谨或太复杂,导致一些逻辑分支不能够正常处理或处理错误。

检测

一般在任意密码修改(没有密码验证),越权访问,密码找回,交易支付金额,进行抓包重放查看是否与逻辑不符合。

防范

规范代码

11命令执行

用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,攻击者的输入作为系统命令的参数拼接到命令行中。

检测

在浏览器输入 拼接& | || (命令连接符)

防范

进行命令执行的函数或者方法之前,都参数进行过滤

参数的值尽量用引号包裹,并在拼接前调用addslashes进行转义

12代码执行

应用程序在调用一些能够将字符串转换为代码的函数时,没有考虑用户是否控制这个字符串,将造成代码执行漏洞。

检测

源码,代码审计

防范

保证用户不能接触eval()函数,使用正则严格判断

字符串使用单引号包裹,并在插入前进行 addslashes()

对preg_replace()放弃使用e修饰符,保证第二个参数中对于正则匹配出的对象,用单引号包裹

13 ssrf

由攻击者构造请求,有服务端发起请求的安全漏洞,本质是信息泄露。

检测

通过分享功能

转码服务

在线翻译

图片加载与下载

图片文章收藏

关键字: share wap url link src source target u 3g display sourceURl imageURL domain

防御

限制请求的端口只能为web端口,只允许访问http,https的请求(禁掉file协议)

限制不能访问内网的ip,以防止对内网进行攻击

屏蔽返回的详细信息。

14xxe

在应用程序解析XML输入时,XML文件的解析依赖libxml 库,而 libxml2.9 以前的版本默认支持并开启了对外部实体的引用,服务端解析用户提交的XML文件时,未对XML文件引用的外部实体(含外部一般实体和外部参数实体)做合适的处理,并且实体的URL支持 file:// 和 ftp:// 等协议,导致可加载恶意外部文件 和 代码,造成任意文件读取、命令执行、内网端口扫描、攻击内网网站、发起Dos攻击等危害。

检测

通过手工篡改网站中xml实体中的头部,加入相关的读取文件或者是链接,或者是命令执行等,如file:///$path/file.txt;http://url/file.txt;看看能否显示出来

防范

XML解析库在调用时严格禁止对外部实体的解析。

使用开发语言提供的禁用外部实体的方法

过滤用户提交的XML数据

0 人点赞