信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)

news/2023/6/7 1:27:57

系列文章目录

在这里插入图片描述

  1. 信息服务上线渗透检测网络安全检查报告和解决方案

文章目录

  • 系列文章目录
  • 前言
  • 一、XSS漏洞
    • 漏洞危害
    • 解决方案
      • 1.参数过滤
      • 2.Cookie设置HttpOnly
  • 二、安装文件目录信息泄漏
    • 漏洞证明
    • 解决方案
  • 三、后台管理路径泄漏、暴力破解、明文传输
    • 漏洞证明
    • 解决方案
  • 四、逻辑漏洞
    • 漏洞验证
    • 解决方案
  • 五、弱口令
  • 六、任意文件上传
    • 解决方案
      • (1)上传页面增加token,上传处理程序比对
      • (2)后缀白名单
      • (3)检测内容是否包含木马
      • (4)图片复制
  • 总结


前言

临近年关,不知是黑客兄弟们闲来无事,还是各个部门要年总总结,总之是在放假之际,系统漏洞陆续爆出。一言蔽之,总是自己技术不过关考虑不周导致的。


一、XSS漏洞

在这里插入图片描述

漏洞危害

  1. 窃取管理员帐号或Cookie,入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。
  2. 窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作。
  3. 网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马。

在网址url参数后,如果对相对应的参数未做过滤,即直接执行javascript脚本,给系统带来的潜在风险。如:

http://test.com/?m=User&a=userForget<script>alert(1)</script>

解决方案

  • 在表单提交或者url参数传递前,对需要的参数进行过滤;
  • 增加前后端验证机制;

1.参数过滤

将常见的威胁系统安全的脚本符合进行过滤,代码如下:

/*** 安全过滤函数* @param $str*/
function safe_replace($str)
{$disallow_str = array('%20', '%27', '%2527', '*', '"', "'", ';', '<', '>', "{", '}', '\\');if (is_array($str)) {return $str;} else {for ($i = 0; $i < count($disallow_str); $i++) {if (stripos($str, $disallow_str[$i]) !== false) {die('传递参数非法,禁止访问。');}}return $str;}
}

2.Cookie设置HttpOnly

HttpOnly是Cookie中一个属性,用于防止客户端脚本通过document.cookie属性访问Cookie,有助于保护Cookie不被跨站脚本攻击窃取或篡改。但是,HttpOnly的应用仍存在局限性,一些浏览器可以阻止客户端脚本对Cookie的读操作,但允许写操作;此外大多数浏览器仍允许通过XMLHTTP对象读取HTTP响应中的Set-Cookie头。

在这里插入图片描述
Cookie的设置方式(本文采用较为简单的一种方式,其他方式另行查询)

        SetCookie("admin_name", $row["user_name"], time() + 604800, "/", '', '', TRUE);SetCookie("admin_phone", $row["user_phone"], time() + 604800, "/", '', '', TRUE);SetCookie("admin_id", $row["user_id"], time() + 604800, "/", '', '', TRUE);SetCookie("admin_menu", $row["user_menu"], time() + 604800, "/", '', '', TRUE);

二、安装文件目录信息泄漏

漏洞证明

在这里插入图片描述

解决方案

这是程序开发约定俗成的常见漏洞,比如:

  • 默认索引页是index.php或default.php;
  • 默认安装文件夹目录是install;
  • 默认后台管理文件目录是admin或manage;

  • 硬币的两面性告诉我们,解决这个问题的根源,就是换一个“你知我知”的文件名称即可。不能改变的,做参数过滤,可以改变的重命名。

三、后台管理路径泄漏、暴力破解、明文传输

漏洞证明

  1. 管理后台路径泄漏容易让攻击者很快找到后台,获取更多的有价值的信息;
  2. 检查到目标应用的后台登录入口。管理员应用程序一般用于网站的后台管理,具有全部的权限。这些应用程序可能包含一些敏感信息或具有较低的安全保护,攻击者可以通过该文件获取敏感信息或者进入网站后台,进行恶意操作。
  3. 明文传输一般存在web网站登录页面,用户名或者密码采用了明文传输,容易被嗅探软件截取。攻击者可能结合中间人攻击,窃取明文传输的密码,从而非授权登录系统,执行破坏性操。
    在这里插入图片描述

解决方案

  1. 关闭外网访问后台管理模块 ;
  2. 登录次数进行限制,例:登录错误超过5次,锁定账户5-10分钟;
  3. 建议密码传输进行加密,建议使用https、建议在网站前端进行js密码加密加密后在上传;

四、逻辑漏洞

漏洞验证

使用默认密码登录系统后,在强制修改密码时,存在手机验证码验证机制,但手机验证码可以使用bp拦截工具进行获取,从而得到修改密码的功能。
在这里插入图片描述

解决方案

直接进行后端校验,不要前端校验完再后端校验。

  • 采用session方式生成验证码;
  • 限制发送短信和IP绑定的次数;

五、弱口令

弱口令,指用户出于偷懒的行为,随时输入123456、88888等常见,容易被暴力破解字典记录,不费吹灰之力就可以破解的密码。

在用户注册、修改等行为时,系统增加密码验证的强度即可。

       <div class="layui-form-item"><label for="L_pass" class="layui-form-label">密码</label><div class="layui-input-inline"><input type="password" id="L_pass" name="pass" lay-verify="pass" autocomplete="off" class="layui-input"></div><div class="layui-form-mid layui-word-aux"><span class="x-red">* 密码必须同时包含大写、小写、数字和特殊字符其中三项且至少6位</span></div></div>

密码必须同时包含大写、小写、数字和特殊字符其中三项且至少6位

        form.verify({user_phone: [/^1[3|4|5|6|7|8|9]\d{9}$/, '手机必须11位,只能是数字!'],smscode: [/[\S]+/, "验证码为6位数且5分钟内有效"],pass: [/(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,30}/, '密码必须同时包含大写、小写、数字和特殊字符其中三项且至少6位'],repass: function(){if($('#L_pass').val()!=$('#L_repass').val()){return '两次密码不一致';}},user_email: [/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],});

六、任意文件上传

在这里插入图片描述

解决方案

(1)上传页面增加token,上传处理程序比对

 $_SESSION['upToken'] = md5(rand(111111, 999999));
  $tpl->assign('upToken', $_SESSION['upToken']);
       //01.获取验证tokenif ($token != $_SESSION['upToken'] || $token == "") {$res['code'] = "1";$res['msg'] = "非法传参页面,请刷新重新上传";//$token . 'a-a' . $_SESSION['upToken'];//验证码自动销毁;session_destroy();die(json_encode_lockdata($res));}
<script>var upToken='{$upToken}';
</script>

(2)后缀白名单

  //白名单;$allow_type = array('application/pdf', 'image/png', 'image/jpeg', 'video/mp4');$allow_ext = array('pdf', 'jpg', 'png', 'mp4');
        //02.服务器端检查上传文件类型;if ($uploaded_tmp == "") {$res['code'] = "1";$res['msg'] = "无法获取上传文件";die(json_encode_lockdata($res));}

(3)检测内容是否包含木马

     //03.检测内容是否包含木马;if (checkHex($uploaded_tmp) != 0) {$res['code'] = "1";$res['msg'] = "文件包含危险信息";die(json_encode_lockdata($res));}

(4)图片复制

//重新制作一张图片,抹去任何可能有危害的数据

 if ((strtolower($uploaded_ext) == 'jpg' || strtolower($uploaded_ext) == 'jpeg' || strtolower($uploaded_ext) == 'png') &&($uploaded_type == 'image/jpeg' || $uploaded_type == 'image/png') && getimagesize($uploaded_tmp)) {if ($uploaded_type == 'image/jpeg') {$img = imagecreatefromjpeg($uploaded_tmp);imagejpeg($img, $temp_file, 80);} else {$img = imagecreatefrompng($uploaded_tmp);imagepng($img, $temp_file, 80);}imagedestroy($img);//文件转储;if (rename($temp_file, $imgUrl . "/" . $fileName)) {$res['code'] = "0";$res['imgUrl'] = $imgUrl . "/" . $fileName;$res['data'] = ["src" => $imgUrl . "/" . $fileName, "title" => $fileName];//富文本上传调用$res['msg'] = '上传成功!';die(json_encode_lockdata($res));} else {$res['code'] = "1";$res['msg'] = '上传文件异常';die(json_encode_lockdata($res));}//删除所有暂时文件if (file_exists($temp_file)) {unlink($temp_file);}}

总结

所谓攻防,如果知道攻,那么防是简单的;如果对攻不甚了解,那么就无所谓防。感谢在系统上线,不同网络安全检测团队对系统不同方面的检测和及时反馈,让自己的系统不断的优化和调整,不断地成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4563791.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

场外配资-场外配资合同是无效的!所以各位投资者得看清!

【场外配资合同无效】 场外配资合同被确认无效后&#xff0c;配资方依场外配资合同的约定&#xff0c;请求用资人向其支付约定的利息和费用的&#xff0c;人民法院不予支持。配资方依场外配资合同的约定&#xff0c;请求分享用资人因使用配资所产生的收益的&#xff0c;人民法…

mycat数据分片

Mycat是一个彻底开源的&#xff0c;面向企业应用开发的大数据库集群。它的定义是是一个开源的分布式数据库系统&#xff0c;是一个实现了MySQL协议的服务器&#xff0c;前端用户可以把它看作是一个数据库代理&#xff0c;用MySQL客户端工具和命令行访问&#xff0c;而其后端可以…

2020 考研数学一 全解析

19题&#xff1a; 设函数 在 上具有连续导数&#xff0c; , 证明&#xff1a; &#xff08;1&#xff09;存在 使得 &#xff08;2&#xff09;若对于任意的 , ,则M 0 。 证明&#xff1a; 由 至存在一点C使得 &#xff0c; 且 C为 的极值点 &#xff1b; 因为函…

正式发布丨Azure OpenAI Service

Azure OpenAI 服务现已在微软全球 Azure 平台正式发布&#xff0c;这是微软人工智能大众化以及与 OpenAI 持续合作的又一里程碑。 大型语言模型正迅速成为用户无限创新、应用 AI 解决重要问题的平台。随着 Azure OpenAI 服务的正式发布&#xff0c;更多企业用户可以访问世界先…

emui为什么能直接升级成鸿蒙,华为手机3月将升级鸿蒙内核? EMUI 11或成最后一个安卓版本...

根据微博数码博主的最新报料称&#xff0c;今年3月最后一个EMUI版本EMUI 11.1暂定三月份上线&#xff0c;内核为鸿蒙内核&#xff0c;这将是EMUI的最后一个版本&#xff0c;后续由华为鸿蒙系统接力。其实早在去年12月&#xff0c;在华为举办的HarmonyOS 2.0手机开发者Beta活动上…

emui9是鸿蒙系统吗,华为EMUI是不是鸿蒙系统

EMUI对于使用华为手机的朋友的来说都不陌生&#xff0c;这是华为推出的非常好用的一款系统软件。而我们知道目前华为正在大力研发鸿蒙系统&#xff0c;鸿蒙系统一旦成功&#xff0c;那么我国就可以拥有自己的操作系统&#xff0c;不用在受制于人&#xff0c;那么EMUI是不是鸿蒙…

华为emui10已经含有鸿蒙,华为EMUI10和华为鸿蒙系统,你更期待哪一个?

总之&#xff0c;结合目前的各路消息分析&#xff0c;华为EMUI10系统会令人眼前一亮&#xff0c;甚至是尖叫连连。但&#xff0c;需要知道的一点是无论EMUI10系统如何改进&#xff0c;它依然是基于谷歌安卓系统深度定制的UI。换言之&#xff0c;虽然EMUI系统的研发有华为诸多心…

emui11升级到鸿蒙os全过程,安卓再见!EMUI11升级用户突破1亿,下一站鸿蒙OS系统...

原标题&#xff1a;安卓再见&#xff01;EMUI11升级用户突破1亿&#xff0c;下一站鸿蒙OS系统华为于去年9月份开发者大会上宣布&#xff0c;鸿蒙系统将正式用于华为手机&#xff0c;2021年逐步完成推送。今年2月份华为Mate X2发布会上&#xff0c;余承东再一次确认基本完成鸿蒙…