最近在修复系统漏洞时,使用新版AppScan扫描IIS站点(WebForm)出现一个严重漏洞“已解密的登陆请求”。
  扫描工具修复的建议为在登陆界面不使用含“password”类型的控件或加密录入参数。 按其所给的建议,我做了如下修改:将password控件修改为textbox控件。使用js替换输入的内容。并将录入的结果录入到隐藏控件中提交时去隐藏控件的值。
  修改后部署更新站点重新扫描并不能解决问题。
  通过百度、bing等搜索工具找了一下两个解决方案:
  1.站点登陆采用ssl方式
  2.对登陆请求的数据进行加密
  因站点要求,并不能使用ssl方式,所以只能采用加密的方式来解决问题。
  我使用了可逆加密方式des加密。在前端加密后再提交数据至服务端进行解密。按此种方式修改后,更新站点再进行扫描得到的结果是依然不能解决这个漏洞的问题。于是我认真查看了AppScan提交数据请求的记录。发现我提交请求的数据,并没有按我要求进行加密。而是在配置AppScan登陆的数据。这说明AppScan请求登陆只会根据你的配置信息来进行登陆,并不去管你的登陆是否做了其它处理。这是否存在一个问题?你配置appscan的时候你需要配置站点登陆信息,但是他解密时提交的数据本来就是你配置好的。本就是配置的数据,为什么还说你解密的?这里我对appscan的扫描存在质疑(appscan在坑人,你必须得用ssl方式访问站点登陆!!)。
  因站点的不能使用ssl方式,所以我找同事讨论。得到另一个解决方案:登陆提交数据使用隐藏控件(包含登陆用户与密码),在提交之前对原来登陆用户、密码录入框内的内容进行清空。后台判断若录入框内存在内容则提示“登陆操作错误!”。这样配置后重新扫描,问题得到了解决,但是存在一个问题AppScan再也登陆不了系统了(扫描是会提示不能正常登陆系统,请确定登陆配置是否正确)。
  DES加密及解密(js与C#配套)可参考:http://www.cnblogs.com/luowanli/archive/2013/03/08/DES-Base64%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86.html
  此方法能规避“已解密的登陆请求”的漏洞,但是不能完全解决。在实际站点中AppScan还是能扫描出此漏洞,但在扫描出的报文提交的数据中并不能查看到明文的账号密码信息。

AppScan漏洞“已解密的登陆请求”修复解决方案的更多相关文章

  1. Appscan漏洞之已解密的登录请求

    本次针对 Appscan漏洞 已解密的登录请求 进行总结,如下: 1.1.攻击原理 未加密的敏感信息(如登录凭证,用户名.密码.电子邮件地址.社会安全号等)发送到服务器时,任何以明文传给服务器的信息都 ...

  2. 使用https协议解决掉顽固不化的已解密的登录请求

    1.1 已解密的登录请求概述 在应用程序测试过程中,检测到将未加密的登录请求发送到服务器.由于登录过程所用的部分输入字段(例如:用户名.密码.电子邮件地址.社会保险号码,等等)是个人敏感信息,建议通过 ...

  3. IBM AppScan安全測试一例——已解密的登录请求

    问题严重级别:高 此类问题在做政府项目(第三方软件评測中心)验收的时,须要马上整改.例如以下图:

  4. Appscan漏洞之跨站点请求伪造(CSRF)

    公司前段时间使用了Fortify扫描项目代码,在修复完这些Fortify漏洞后,最近又启用了Appscan对项目代码进行漏洞扫描,同样也是安排了本人对这些漏洞进行修复.现在,针对修复过的Appscan ...

  5. Appscan漏洞之会话标识未更新

    本次针对 Appscan漏洞 会话标识未更新 进行总结,如下: 1. 会话标识未更新 1.1.攻击原理 在认证用户或者以其他方式建立新用户会话时,如果不使任何现有会话标识失效,攻击者就有机会窃取已认证 ...

  6. Appscan漏洞之Authentication Bypass Using HTTP Verb Tampering

    本次针对 Appscan漏洞 Authentication Bypass Using HTTP Verb Tampering(HTTP动词篡改导致的认证旁路)进行总结,如下: 1. Authentic ...

  7. Fiddler插件 --- 解密Elong Mapi请求参数及响应内容

    当前问题: 在我们日常的Web/App测试过程中, Fiddler是一大辅助利器:在我们团队,也经常使用Fiddler进行App抓包测试. 艺龙 App使用的REST(内部称为Mapi)接口,在使用过 ...

  8. SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)

    在SSMS(Microsoft SQL Server Management Studio)里面,查看数据库对应的表的时候,会遇到"Lock Request time out period e ...

  9. ArcGIS Server API for JavaScript调用错误:已阻止跨源请求:同源策略禁止读取位于......

    已阻止跨源请求:同源策略禁止读取位于 http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapSe ...

随机推荐

  1. 简述抽象和封装,对你学习Java有一些作用

    作为一个Java 初学者,对Java的理解可能有些片面,甚至有些错误的理解,对于观看此处的您,希望您选择性观看!!! 天知道我为什么选择学习编程,我不爱编程,但是我既然学习了,还是会努力学习的,在此分 ...

  2. curl命令行使用

    curl 命令使用   原文地址:http://blog.sina.com.cn/s/blog_4b9eab320100slyw.html 可以看作命令行浏览器 1.开启gzip请求curl -I h ...

  3. java-集合1

    浏览以下内容前,请点击并阅读 声明 集合(collection),可以看做一个容器,是将多个元素组合成一个单位的对象.集合用来存储,检索,操作,交互一些聚集的数据.通常,集合用来表示一个组的数据,就像 ...

  4. 【BZOJ1672】[Usaco2005 Dec]Cleaning Shifts 清理牛棚 动态规划

    [BZOJ1672][Usaco2005 Dec]Cleaning Shifts Description Farmer John's cows, pampered since birth, have ...

  5. Json.Net的简单使用

    1.添加程序集 Newtonsoft.Json.dll 2.创建模型 public class Person {   public string Name { get; set; }   public ...

  6. BZOJ2705: [SDOI2012]Longge的问题

    Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一 ...

  7. SqlServer禁用启用触发器、外键约束

    --禁用指定名称触发器 ALTER TABLE tbname DISABLE TRIGGER trigname --恢复指定名称触发器 ALTER TABLE tbname ENABLE TRIGGE ...

  8. 在list_*页面显示出一级栏目下的所有二级栏目

    <ul class="nav nav-pills nav-stacked"> {dede:channelartlist typeid='1,1'} <div cl ...

  9. 第一章-第一题(小学生四则运算)--By郭青云

    1.项目需求 a) 除了整数以外,还要支持真分数的四则运算. (例如:  1/6 + 1/8 = 7/24) b) 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. c) 逐步扩 ...

  10. 骑士游历/knight tour - visual basic 解决

    在visual baisc 6 how to program 中文版第七章的练习题上看到了这个问题,骑士游历的问题. 在8x8的国际象棋的棋盘上,骑士(走法:一个方向走两格,另一个方向一格)不重复走完 ...