Day 27 - 不安全的登入机制

出於书本 Chapter 14. Web sites and Application

不安全的登入机制 (Unsecured login mechanism)

许多站台都会要求使用者在对网页应用程序进行下一步操作时,要 登入 至该站台。通常就是要求使用者要一组登入用的 使用者 ID密码 。这些登入机制有时会无法妥善地处理不正确的登入,或是揭露太多的资讯,攻击者便可利用这些资讯来搜集有效的使用者 ID 与密码。

如何测试登入机制是否安全?

  • 使用 无效的使用者 ID 搭配 有效的 密码
  • 使用 有效的使用者 ID 搭配 无效的 密码
  • 使用 无效的使用者 ID 搭配 无效的 密码

在输入这些组合的测项後,网站可能会回传像是 你的使用者 ID 无效 或是 你的密码无效,也有可能是回传比较一般的讯息像是 你的使用者 ID 与密码组合无效 ,但是分别在输入无效的使用者 ID 与无效的密码时 回传不同的 error code

对攻击者来说,一但能分得出哪个栏位是否是有效的情况下,便可以使用自动化的密码攻击方式来破解以进入网站。

测试工具

书上介绍可以使用像是 Brutus 之类的网站密码破解工具,来替自家站台做测试。因为这套又是 Windows Only 的工具,只好到网路上找找。

  • Hydra [1][2]
    • 这套支援各式各样的协定,像是 FTP 、HTTP、 HTTPS 甚至 MYSQL 等等都有
  • Burp Suite [3]
    • 拦截 http request/response
    • 暴力破解
    • 也能检测 XSS 、SQL Injection 等漏洞

下载 Burp Suite Community 版本後,介面上有一些指引带领大家操作,还有教学影片
https://ithelp.ithome.com.tw/upload/images/20211012/20141184EUTpRVrR0Z.png

选择 Getting started with Burp Suite ,功能真的五花八门,也难怪可以看到其他高手的铁人赛系列文章,30 天就只解释这套工具。

https://ithelp.ithome.com.tw/upload/images/20211012/20141184SqmxOWovuO.png

因应对策

在网路应用程序中实作下面的项目,来预防登入机制相关的攻击

  • 无论是无效的 ID 输入或是密码输入,均显示比较一般的错误讯息
  • 不要在使用者看得到的地方,比如 URL ,夹带与登入相关的 error code
  • 使用 CAPTCHA 来预防密码攻击
  • 实作上锁的机制,例如尝试三次就暂时不允许使用者尝试登入
  • 更换任何来自其他地方的预设密码

明天来整理一下如何降低网站的安全性风险!

[1] Install hydra on Mac OS

[2] [骇客工具 Day12] 密码暴力破解 - Hydra

[3] [骇客工具 Day10] web安全测试 - Burp Suite


<<:  30天学习笔记 -day 27-Motion Editor(下篇)

>>:  Day 28 同步的作用

#15 JS: if else statement

To make the operators meaningful for users, let’s ...

NNI大纲描述

基本名词及观念: • Experiment:一次实验,如寻找最好的神经网路架构。经多个autoML ...

Day 3 - Playing with CSS

前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...

[Re:PixiJS - Day42] dat.gui 小技巧 .name() / .listen() / .remember(obj)

先前有介绍过 dat.GUI,这篇补充一些先前没提过的部分: [PixiJS - Day-16] 使...

自动化测试,让你上班拥有一杯咖啡的时间 | Day 13 - 动态跳过测试用例

此系列文章会同步发文到个人部落格,有兴趣的读者可以前往观看喔。 测试脚本中有许多测试用例时,当需要...