最近在修复系统漏洞时,使用新版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. win7安装Linux

    1. 新建分区必须为FAT32 (不是绿色的可用分区,只要linux安装时可以识别) 大小大于8G 2.打开ISO, 把casper文件夹下的initrd.lz vmlinuz 两个文件提取到C盘下 ...

  2. linux服务器做网关

    首先创建两张路由表,只需要添加到相应的文件中即可,Linux一共支持255个路由表,rt_tables文件中默认已经存在了三张路由表,分别是:   255    local   254    main ...

  3. notepad++ 中配置 python一键运行

    cmd /k python "$(FULL_CURRENT_PATH)"& PAUSE & EXIT cmd /k python 表示打开Command Promp ...

  4. 如何自定义jupyter notebook的主题

    临时性的改变一个jupyter的主题 参考这个实现,只要在notebook里运行这段代码就行了,能让所有的cell都能够显示黑色背景 一个更为完备的工具 参考这个方案: 安装jupyter-theme ...

  5. 已解决:Strict Standards: Only variables should be passed by reference in

    今天安装ecshop的时候最上面出现了一个错误提示:Strict Standards: Only variables should be passed by reference in F:\www.x ...

  6. Linux 第06天

    Linux 第06天 1.SAMBA服务器————(linux和windows的文件共享) 1.1 安装 yum install samba -yum 1.2 配置文件 /etc/samba/smb. ...

  7. new 等于 malloc加构造函数

    1.new 是c++中的操作符,malloc是c 中的一个函数 2.new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员 ...

  8. Visual Studio 插件的开发(转)

    起因 在做项目的时候,经常需要根据表结构create一些实体类,写多了,实在是觉得无趣,于是就琢磨着做个代码生成工具.当然现在有很多现成的,拿来用就好,可是总想自己弄个出来玩玩,一来是当初用DataS ...

  9. oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

    总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...

  10. 如何预览将要上传的图片-使用H5的FileAPI

    这篇将要说的东西已经不新鲜了. 参考资料: Reading files in JavaScript using the File APIs (鉴于作者在美国, 我姑且认为作者母语是英语, 当然链接中有 ...