最近在修复系统漏洞时,使用新版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. Ajax请求安全性讨论

    今天我们来讨论一下ajax请求的安全性,我相信各位在系统开发过程中肯定会绞尽脑汁的想怎样可以尽量少的防止伪造ajax请求进行攻击,尤其是开发跟用户交互比较多的互联网系统.那么就请大家来分享讨论一下你在 ...

  2. GO语言中json与map的转换

    直接上代码(需要引入encoding/json包) // 当前程序的包名 package main // 导入其它的包 import ( "encoding/json" " ...

  3. NPOIExcel

    public class NPOIExcel { private string _title; private string _sheetName; private string _filePath; ...

  4. Sharepoint + Office Infopart + Quick Apps for Sharepoint搭建无纸化工作平台

    项目背景: 某大型外企各分部通过互联网专线统一域环境,Exchange邮件系统,Sharepoint平台及依赖环境已经购买并搭建起来,Dell Quick app for Sharepoint已购卖并 ...

  5. android--handler

    app在启动时会产生一个进程和一个线程,线程是主线程,又叫UI线程,更新UI元素必须要在UI线程中更新,否则会报错. 在UI线程中有消息队列,子线程sendMessage到MQ中,looper类取出队 ...

  6. CentOS系统配置记录

    1. 挂載 ntfs: 确定已经安装了rpmforge软件库的源.在线安装使用 yum install 命令 含有 rpmforge源. yum install fuse ntfs-3g -y 安装后 ...

  7. Android入门(九):CheckBox多选清单和ScrollView滚动条

    字符串资源文件strings.xml: <resources> <string name="hello">主类main</string> < ...

  8. MongoDB基本使用

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...

  9. Spring的3种切入点PointCut实现

    Pointcut是Join Point的集合,它是程序中需要注入Advice的位置的集合.Spring主要提供了3种切入点的实现: 1.静态切入点: 2.动态切入点: 3.自定义切入点. 静态切入点 ...

  10. javascript学习之运动框架

    模仿新浪博客首页的,最新评论: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"&g ...