昨天晚上发现了西安公路客运网上售票系统网站的密码找回系统存在安全漏洞,得出的结论是:
密码找回页的漏洞:
 
1、用户名栏支持用户名、身份证、电话三种任意一种匹配。
2、这一步是关键,密码找回问题提示栏居然之家显示的是密码找回问题的答案。
3、这一条更是弱智到了变态的极点:密码找回邮箱可以随意填写。
 
后经我具体测试发现,其实第二条不算是严格意义的漏洞,是由于注册页面的设计不当造成的。
在注册页面有 “密码提示问题:”、“自己输入问题:”“问题回答:”三个输入区域,也就是说两个问题可以同时存在,而理论上这两个问题输入项应该对应两个“问题回答”才合理。

一般来说常见的用户注册有以下两种方案:
1、 “密码提示问题:”、“自己输入问题:”二者选一个,界面自动显示和隐藏“系统问题答案”“自定义问题答案”输入框。
2、 “密码提示问题:”、“自己输入问题:”和“系统问题答案”“自定义问题答案”四个输入区域同时存在。

而目前 西安公路客运网上售票系统网站 的”用户注册“界面明显存在设计的缺陷,用户在习惯上容易把“系统问题答案”输入到“自己输入问题:”这一栏里,“自己输入问题:”这一栏在用户的使用习惯上存在了二义性的问题,从而导致如下漏洞的真实存在:

 
1、用户名栏支持用户名、身份证、电话三种任意一种匹配。
2、这一步是关键,密码找回问题提示栏居然之家显示的是密码找回问题的答案。
3、这一条更是弱智到了变态的极点:密码找回邮箱可以随意填写。

 

不过这样低级的缺陷一般也只有政府的项目才存在,这一点是关键!

UI设计的重要性--避免二义性的输入提示的更多相关文章

  1. 我对于UI设计这个领域的理解

    User Interface(UI),包括三部分用户.界面以及用户与界面之间的交互关系.UI设计则是指对软件的人机交互.操作逻辑.界面美观的整体设计. 如何看待UI设计这个领域? 任何一个行业的出现都 ...

  2. 小程序UI设计(4)-符合视觉规范-表单输入视觉规范

    下图是微信官方的要求 按照小程序UI设计(3)-符合视觉规范-列表视觉规范同样的方式,我们可以设计一样符合规范的输入项目.规范中没有说明padding-left的大小,我们暂定是15px.这样最外层v ...

  3. 全是干货!UI设计的30条黄金准则!

    http://www.wex5.com/portfolio-items/js-1/ 全是干货!UI设计的30条黄金准则!   总的来说,好的UI界面有几个特征:简洁.便利.目标明确.人性化.字面上看这 ...

  4. UI设计可供性解析:巧用隐藏的设计力提升用户体验

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 在实际的Web或App界面设计中,设计师们在学习和实践各种专业知识和技能之外,也会不可避免的遇到到各 ...

  5. 微信小程序和App的UI设计有什么异同吗?

    大家总是把小程序和App放在一起比,因此我也花时间看了一下小程序的开发指南,尤其是UI部分的设计和原则,今天就拿它和苹果的HIG(Human Interface Guidelines)做个比较,其实两 ...

  6. 浅谈UI设计中妙用无穷的深色系背景

    英文:medium 译者:优设网 - 陈子木 链接:http://www.uisdc.com/ui-benefits-of-dark-background# --------------------- ...

  7. 21个免费的UI设计工具和资源网站,不管是web,js,android都

    本帖最后由 hua631150873 于 2014-9-12 18:26 编辑 Lumzy 官方地址:http://www.lumzy.com/ Lumzy是一个网站应用和原型界面制作工具.使用Lum ...

  8. UI设计实战篇——利用Bootstrap框架制作查询页面的界面

    Bootstrap框架是一个前端UI设计的框架,它提供了统一的UI界面,简化了设计界面UI的过程(缺点是定制了界面,调整的余地不是太大).尤其是现在的响应时布局(我的理解是页面根据不同的分辨率,采用不 ...

  9. Android 高级UI设计笔记07:RecyclerView 的详解

    1. 使用RecyclerView       在 Android 应用程序中列表是一个非常重要的控件,适用场合非常多,如新闻列表.应用列表.消息列表等等,但是从Android 一出生到现在并没有非常 ...

随机推荐

  1. 《JS高程》JS-Object对象整理

    继上篇<JS高程>对象&原型笔记,对JavaScript中的Object对象进行了整理,梳理一遍~ 参考文章:详解Javascript中的Object对象 ------------ ...

  2. 【Avalon】获取隐藏元素的尺寸

    保存原来的属性 设置成显示的属性 获取尺寸 设置回原来的属性 var cssShow = { position: "absolute", visibility: "hid ...

  3. VMDK镜像迁移到KVM(二)

    KVM has the ability to use VMware's .vmdk disk files directly, as long as the disk is wholly contain ...

  4. js实现简单易用的上下无缝滚动效果

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 使用容器控制器控制另外两个控制器的view交换

    建三个UIViewController 的子控制器,其中一个为根控制器,另外两个控制器的视图作为切换对象 AppDelegate中代码 //AppDelegate.h中代码 #import <U ...

  6. 357. Count Numbers with Unique Digits

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...

  7. C#各类型大小

  8. 1.PHP站内搜索 分类: PHP开发实例 2015-07-31 22:48 4人阅读 评论(0) 收藏

    PHP站内搜索:多关键字.加亮显示 1.SQL语句中的模糊查找 $sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' a ...

  9. 转:db2 iptables相关用法(2)

    Centos 6 iptables 配置 Ben 2011/12/24 [root@localhost ben.liu]# service iptables status Table: filter ...

  10. java日期类型转换总结date timestamp calendar string

    用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需要小数位后面的毫秒的,这样就需要在转换为String时重新定义格式.         Timestamp转化为String: S ...