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

时间:2022-01-23 18:12:58

1.1 已解密登录请求概述

在应用程序测试过程中,检测到将未加密的登录请求发送到服务器。由于登录过程所用的部分输入字段(例如:用户名、密码、电子邮件地址、社会保险号码,等等)是个人敏感信息,建议通过加密连接(如 SSL)将其发送到服务器。任何以明文传给服务器的信息都可能被窃,稍后可用来电子欺骗身份或伪装用户。 此外,若干隐私权法规指出,用户凭证之类的敏感信息一律以加密方式传给网站。

1.2 安全风险及原因分析

安全风险中,可能会窃取诸如用户名和密码等未经加密即发送了的用户登录信息

原因:诸如用户名、密码和信用卡号之类的敏感输入字段未经加密即进行了传递

1.3 AppScan扫描建议

1. 确保所有登录请求都以加密方式发送到服务器。
2. 请确保敏感信息,例如:

- 用户名

- 密码

- 社会保险号码

- 信用卡号码

- 驾照号码

- 电子邮件地址

- 电话号码

- 邮政编码

一律以加密方式传给服务器。

1.4 应用程序解决方案

已解密的登录请求,要求就是数据要加密传输。最简单有效的解决方式采用SSL加密协议传输,在进行测试过程中也尝试在tomcat下SSL方式配置,写下来供参考。

tomcat在生成证书文件后,在service.xml 进行配置: 给证书加上日期年限-validity 36500 100年

  1. 安全证书生成过程:进入到cmd 进入到cd  jdk bin目录下执行
    keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "D:\app.keystore" -validity 36500
  2. 生成证书  任意路径都行,放到tomcat文件夹下好管理。
  3. 注意:“名字与姓氏”应该是域名(服务器地址或域名)若输成了姓名,和真正运行的时候域名不符,会出问题
  4. 使用https协议解决掉顽固不化的已解密的登录请求
  5. 进入到tomcat 的conf 目录下修改servlet.xml ,找到这个配置,添加你的证书的地址以及密码在service.xml配置SSL
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"

               keystoreFile="D:\tomcat-6.0\conf\app.keystore"

keystorePass="110120"/>

Tomcat服务器: 
JDK版本过低也会带来不安全漏洞,请升级JDK为最新版本。升级JDK风险请安按照系统升级风险酌情考虑。 
(先备份再配置,低版本的配置后有启动不了的风险,请升级tomcat和jdk版本,JDK1.7及以上支持TLS1.2协议)

如果服务端不支持SSLv3,只支持TLSv1、TLSv1.1和TLSv1.2,又该如何设置呢?

Tomcat 6  使用属性  sslProtocols="TLSv1,TLSv1.1,TLSv1.2" 示例代码如下:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false"  sslProtocols="TLSv1,TLSv1.1,TLSv1.2"   --去掉 sslProtocol="TLS"

               keystoreFile="D:\tomcat-6.0\conf\app.keystore"

keystorePass="110120"/>

Tomcat 7 and later这时需要设置另外一个属性sslEnabledProtocols,示例代码如下:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false"  sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"   --去掉 sslProtocol="TLS"

               keystoreFile="D:\tomcat-6.0\conf\app.keystore"

keystorePass="110120"/>

开发人员应该能够轻松应对SSL 3.0  SSL 2.0 Poodle漏洞

在这里我是把证书放到tomcat文件夹下。注意要把8443端口改为你自己服务器的端口,以防一直跳转到8443端口。

这样配置后虽然可以通过https访问,但仍然还可以通过8080使用普通的http访问,所以还必须禁止普通模式登录。把原有的普通模式注释掉即可。

<!--

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

-->

还得在web.xml添加配置。在tomcat的conf下的web.xml的最后添加配置文件实现http协议自动转化为https 协议,配置文件添加在 <welcome-file-list>   </welcome-file-list> 配置文件后面

对所有的请求都转化为https:

<security-constraint>    

  <!-- Authorization setting for SSL -->    

        <web-resource-collection >    

            <web-resource-name >SSL</web-resource-name>    

            <url-pattern>/*</url-pattern>    

        </web-resource-collection>    

        <user-data-constraint>    

            <transport-guarantee>CONFIDENTIAL</transport-guarantee>    

        </user-data-constraint>    

 </security-constraint> 

只对 .jsp 的请求自动转化为https

<security-constraint>

<!-- Authorization setting for SSL -->

<web-resource-collection >

<web-resource-name >SSL</web-resource-name>

<url-pattern>*.jsp</url-pattern>

<url-pattern>*.action</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

应注意,由于项目的一些组件无法通过https,因此url-pattern字段只对.jsp和.action进行了限制,如果不做特定限制,则系统默认是全部使用https传输。而且上述设置一旦在某个工程中出现,那么当前tomcat将全局采用这一配置。

使用https协议解决掉顽固不化的已解密的登录请求的更多相关文章

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

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

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

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

  3. AppScan漏洞&OpenCurlyDoubleQuote;已解密的登陆请求”修复解决方案

    最近在修复系统漏洞时,使用新版AppScan扫描IIS站点(WebForm)出现一个严重漏洞“已解密的登陆请求”. 扫描工具修复的建议为在登陆界面不使用含“password”类型的控件或加密录入参数. ...

  4. curl提示不支持https协议解决方法

    根据网上的资料,这个问题的原因是因为在安装curl时使用默认安装,但是默认安装并不支持https协议 简单粗暴的办法就是,卸载重新安装curl(有一种方法是重新编译就可以了,然后使用编译后的可执行文件 ...

  5. 解决跨站脚本注入,跨站伪造用户请求,sql注入等http安全漏洞

    跨站脚本就是在url上带上恶意的js关键字然后脚本注入了,跨站伪造用户请求就是没有经过登陆,用超链接或者直接url上敲地址进入系统,类似于sql注入这些都是安全漏洞. sql注入 1.参数化查询预处理 ...

  6. nginx 使用HTTPS协议-SSL证书模块报错解决-附nginx安装 &colon; &lbrack;emerg&rsqb; the &quot&semi;ssl&quot&semi; parameter requires ngx&lowbar;http&lowbar;ssl&lowbar;module in nginx&period;c

    Linux系统下ngnix使用HTTPS协议启动报错: nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_modul ...

  7. LR录制https协议报证书错误,导航已阻止

    使用IE浏览器录制https协议报证书错误,导航已阻止,修改如下配置文件:

  8. Https协议报错:com&period;sun&period;net&period;ssl&period;internal&period;www&period;protocol&period;https&period;HttpsURLConnectionOldImpl解决方法

    旭日Follow_24 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/xuri24/article/details/82220333 所用应用服务器:JBoss服务 ...

  9. Python内置的urllib模块不支持https协议的解决办法

    Django站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown url type: https”异常.寻根朔源发现是python内 ...

随机推荐

  1. 初识 Burp Suite

           Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程. 所有的工具都共享一个能处理并显示HTTP 消息, ...

  2. &lbrack;z&rsqb;Java开发必会的Linux命令

    1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...

  3. newman 3&period;0改变

    https://github.com/postmanlabs/newman/blob/develop/MIGRATION.md

  4. Google软件测试

    google测试相关的职位有三类:软件测试开发工程师.测试工程师以及测试工程经理. 软件测试开发工程师也是一个开发角色,只是工作重心在可测试性和通用测试框架上.他们参与设计评审,非常近距离地观察代码质 ...

  5. Github在windows7环境下使用入门

    1.下载并安装 下载和安装一般都没什么问题,网上的链接一大堆,不过还是在此给一个安装的地址和安装的参考吧. 当然,安装完成后要保证git能使用,必须配置github 2.配置github 首先是要创建 ...

  6. 云盾正常扫描云服务器的IP是什么

    问题:云盾正常扫描云服务器的IP是什么?   解答:云盾扫描云服务器的的IP段固定为    42.120.145.0/24 110.75.105.0/24 110.75.185.0/24 110.75 ...

  7. UIImage的使用

    UIImage是IOS中层级比较高的一个用来加载和绘制图像的一个类,更底层的类还有CGImage,以及IOS5.0以后新增加的CIImage.今天我们主要聊一聊UIImage的三个属性: imageO ...

  8. 图片延迟加载技术-Lazyload的应用

    我们在浏览图片量非常大的页面时,像淘宝商城商品展示.必应图片搜索这类网站,图片的加载非常流畅,其中就应用了图片延迟加载技术.本文讲解Lazyload图片加载插件,当我们打开页面时,首先在屏幕可视区域加 ...

  9. map,area标签

    map,area标签 <img src ="planets.gif" alt="Planets" usemap ="#planetmap&quo ...

  10. 关于request和response的中文乱码问题

    相信大家在开发Web项目中都会遇到中文的请求乱码和响应乱码的情况,现在给大家梳理一下并提供解决方案. 1.为什么会出现乱码: 出现乱码的根本原因是浏览器和服务器的解码方式不一致引起的.所以我们统一编码 ...