LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

渗透攻防安全防范之攻破WEB网站登录页面

admin
2023年10月30日 10:57 本文热度 523

       登录框是一个典型的Web应用程序的组件,允许用户输入凭据以进行身份验证,通过检查登录框的安全性,识别应用程序中的安全漏洞和弱点。在进行登录框的渗透测试时,需要综合使用多种方法和工具,以确保测试的全面性和准确性,及时发现并修复应用程序中的漏洞,提高应用程序的安全性和可靠性。在HVV或渗透测试时遇到站点只有一个登录接口的情况下,如何获取权限并进一步渗透?下面根据本人实战经验,分享常用的网站登录框渗透攻防方法:

一、攻击方式

1、登录框的输入验证漏洞

       登录输入框中的用户名和密码可能存在输入验证机制有效性安全漏洞,通过登录页面的源代码查看到客户端验证逻辑,若存在绕过漏洞,尝试输入包含特殊字符或注入代码的数据,以在进行渗透测试时,还需要对登录框进行敏感信息泄露测试。在登录框中,往往需要输入用户名和密码,因此我们可以通过尝试使用一些常见的用户名和密码来测试是否存在默认凭证。如果存在默认凭证,就可以使用这些默认凭证进行未经授权的访问。此外,还可以尝试使用一些常见的SQL注入、XSS(跨站脚本攻击)等方式来检测是否存在安全漏洞。

2、密码猜测和弱口令攻击

       密码猜测和弱口令攻击是利用弱密码对登录框进行攻击,这时候最常用的方法就是暴力破解和猜解登录口令。在渗透测试中,我们可以使用常见的密码字典进行密码猜测,并观察是否存在弱口令。若登录窗口对密码的复杂性缺少验证机制,则导致无法抵御基于密码猜测的攻击,可以尝试使用弱密码来登录系统,通过密码猜测手段,尝试使用常见的用户名和密码进行测试,例如“admin”和“password”等。如果密码以明文形式存储在数据库中,则可以进一步通过入侵数据库来获取密码,如通过构造恶意的SQL语句来绕过登录认证、获取管理员权限、获取数据库中的敏感信息等。

3、未正确配置安全协议

       如果Web应用程序未正确配置安全协议(例如HTTPS),可以利用中间人攻击或会话劫持技术来获取凭据或篡改数据。同时对于存在会话固定漏洞的系统,通过使用CSRF、会话劫持等攻击手段来获取已验证的会话,这些漏洞可以在不知道密码的情况下访问受保护的重要数据。

4、社会工程学攻击

       此外还可以通过社会工程学的方法对登录框进行测试。例如钓鱼攻击、密码猜测、弱口令攻击等。钓鱼攻击是指利用虚假的登录页面欺骗用户输入用户名和密码,从而获取用户的登录凭证。在钓鱼攻击中,攻击者可以通过伪造的登录页面欺骗用户输入账号密码。为了防止钓鱼攻击,用户可以注意登录页面的URL和SSL证书,避免输入敏感信息。在渗透测试中,可以尝试使用伪造的登录页面对用户进行测试,观察用户是否会受到欺骗。


二、测试工具

       在进行渗透攻防时,我们还可以尝试使用一些工具来辅助测试。

1、Burp Suite

        Burp Suite是一款强大、实用的Web应用程序渗透测试工具,包含了代理、扫描、爬虫、拦截器等多种模块,可以帮助我们检测并利用网站的漏洞,可以用于拦截和修改HTTP请求和响应。使用Burp Suite可以快速识别应用程序的漏洞,例如未经身份验证的访问、会话劫持、跨站点脚本等。

2、Sqlmap

       Sqlmap是一款自动化SQL注入工具,可以帮助我们快速地检测出网站是否存在SQL注入漏洞,并且自动化地进行利用。

3、Nmap

       Nmap(Network Mapper),诸神之眼,扫描之王,主机扫描工具,网络扫描和嗅探工具包,图形化界面是zenmap,分布式框架为Dnamp,最早是Linux下的网络扫描和嗅探工具包。

4、Dirsearch

       Dirsearch是一个python开发的目录扫描工具,目的是扫描网站的敏感文件和目录从而找到突破口。

5、XSStrike

       XSStrike是一款自动化XSS测试工具,可以快速地检测出网站是否存在XSS漏洞,并且自动化地进行利用。

6、Hydra

       Hydra是一款密码破解工具,可以帮助我们快速地破解管理员的密码。


三、实战演练

       通过使用上述工具进行测试时,需要注意的是漏洞扫描器也存在误报和漏报的情况,因此扫描结果应该进行进一步的验证和分析。在对登录框进行漏洞扫描时,可以先手动构造一些常见的攻击载荷进行测试,例如SQL注入攻击载荷、XSS攻击载荷等,看看是否存在漏洞。同时还可以结合Burp Suite等工具进行数据包拦截和修改,观察是否存在安全漏洞。如果存在安全漏洞,需要及时修复并进行重新测试。

1、SQL注入

        如果网站存在SQL注入漏洞,可以尝试万能密码,常见的万能密码有:‘or’=‘or’ ‘or 1=1/* admin’ or 1=1/*。同时可以借助Sqlmap工具,会自动化地进行利用,获取敏感信息。可以使用sqlmap进行SQL注入检测:sqlmap -u "http://example.com/login.php" --data "username=admin&password=1234" --method POST --level 5 --risk 3。其中,-u指定需要测试的URL,–data指定POST请求的数据,–level指定测试等级(1-5),–risk指定风险等级(1-3)。

2、XSS攻击

        如果网站存在XSS漏洞,XSStrike会自动化地进行利用,弹出弹窗等。使用XSStrike进行XSS测试,命令如下:python3 XSStrike.py -u "http://example.com/login.php" --data "username=<script>alert(1)</script>&password=1234" --method POST

其中,-u指定需要测试的URL,–data指定POST请求的数据,–method指定请求方法(GET或POST)。

3、CSRF攻击

       在渗透测试与攻防实战过程中,我们还需要进行常规漏洞扫描,例如使用漏洞扫描器对登录框进行扫描。常见的漏洞扫描器有OpenVAS、Nessus、Burp Suite等。这些扫描器能够自动化检测Web应用程序中的漏洞,例如SQL注入、跨站点脚本(XSS)和文件包含等漏洞。

4、图形验证码绕过

  • 验证码字段删除或置空;

  • 万能验证码:渗透测试的过程中,有时候会出现这种情况,系统存在一个万能验证码,如0000、1111、8888、9999,只要输入万能验证码,就可以无视验证码进行暴力解析。等等;

  • 抓包重放:Burp抓包但不放包,将包发送到Repeater重放几次看看验证码能不能重复使用,大多数时候burp不用一直抓包也是可以绕过的;

  • 抓包获取:图形验证码可被识别,抓包直接可以获得验证码,很多网站的验证码都可以在请求数据包中找到,或者隐藏在request的cookie中,Response的源码中,可以利用Burpsuite的macros来匹配Response中的相应数据。

  • 修改响应码:Burp拦截登录的响应包进行修改,将响应码修改后可能会越权登录被测系统。(只要是权限验证不是使用cookie来验证,都有可能发生横向越权漏洞;同时只要是用户id、用户名等是以参数方式传递,就有可能有风险)。

  • 图形验证码参数直接绕过:对于request数据:user=admin&pass=1234&vcode=brln,通过验证码空值绕过,改成user=admin&pass=1234&vcode=;或直接删除验证码参数,改成 user=admin&pass=1234。

  • 验证码可被识别:有些图形验证码加入的像素线条过于简单,使用图形验证码识别工具可以识别出每次更换的验证码,在平常的漏洞挖掘过程中,若发现登录的验证码非常简单且易于识别,就可以尝试使用自动化工具来进行登录解析了,如 PKAV 的 HTTP Fuzzer。

  • 使用机器学习算法识别验证码:通过对特定网站的图形验证码训练识别模型,达到一定的准确率就可以调用进行模拟提交图形验证码的值了。

5、短信验证码绕过

       对于网站登录系统页面要求输入手机号,接收手机短信并校验短信验证码是否正确进行登录的系统,突破的主要思路有:

  • 暴力破解:短信验证码生命期限内可暴力枚举,可以尝试暴力破解短信验证码,达到登录、注册或找回密码等目的,在验证码还未过期的时间段内,可枚举全部的纯四位数字、六位数字等较简单的短信验证码。

  • 短信验证码在数据包中返回:和图形验证码一样,在response中可以直接获取到短信验证码。

  • 修改请求数据包参数或Cookie值绕过:比如有post数据包:mobile=12435437658&userid=123456, Cookie中有:codetype=1。在特定步骤,修改 mobile=自己的手机号,自己手机就可以收到别人的验证码,后面再用别人的手机号和接收到的验证码登录;修改 Cookie 中可疑的参数和值,进行绕过,比如上面修改 codetype=0;

  • 修改返回包绕过:提交错误的短信验证码,返回包中有:status=false,在Burpsuite中修改为 status=true,即可绕过前端判断,成功进入系统。具体还要结合实际的场景,灵活操作。

6、目录扫描

       推荐使用dirsearch,可能会发现网站备份文件、后台地址等等。通过扫描系统目录,目录遍历,google hacking找到未授权访问的登陆页面,直接进入到系统内部。

7、找回密码功能

       此功能点可能存在的漏洞有任意用户密码重置、短信/邮件轰炸、验证码爆破、验证码绕过、验证码回显、sql注入,逻辑漏洞较多。

8、注册功能

      利用任意用户注册漏洞等。

9、框架漏洞

       Struts2漏洞、cms漏洞、log4j、中间件漏洞……Shiro/log4j/fastjson 反序列化:这三个反序列化漏洞影响实在是太广了。

10、端口扫描

       Nmap全端口扫描:nmap -sS -A -p 1-65535 ip,扫到ssh、ftp、telnet、数据库等等端口可以尝试进一步利用

11、JS信息泄露

       F12找一下JS文件,重点查看js中的测试账号、API接口。

12、逻辑漏洞

任意密码重置,任意账号注册,短信(邮件)轰炸等。

  • 任意密码重置:一般存在于先验证身份,重置密码(修改密码)的系统;或验证码与手机号不绑定的系统;
  • 任意账户注册:漏洞原理基本与任意密码重置相同,验证码未与手机号绑定或验证码可爆破;
  • 短信(邮箱)轰炸:未对发送间隔,一段时间内发送最大数量做服务端验证,抓包后不断重返即可(在repeate中),若做了一定防护可添加空格``+86等进行绕过;
  • 通过Burp抓取数据包,修改Respos返回信息、更改URL中的id参数、更改用户名密码字段(比如直接删去密码字段)、更改Cookie字段,可以越权登录到系统内部。

13、暴力破解

大部分情况下,系统登录页面都不存在xss,目录遍历,SQL注入等漏洞,这时候最常用的方法就是暴破和猜解登录口令,密码猜解最关键的就是字典要高效准确。

  • 在应用层http/https爆破密码的常用工具是Burp Suite;

  • 准确的用户名,密码字典是高效破解的重中之重,一般都是指定几个常见用户名,尝试 Top500、Top1000进行爆破 字典不必要太大,最重要的是针对性要强;

  • 系统管理员爆破:因为管理员权限较高,通常我都会先进行管理员口令的猜解,总结一些常见的管理员用户名字典,用此用户名字典,再加上弱口令Top1000,同时爆破系统管理员用户名密码。

  • 普通用户爆破:常见的普通用户用户名是姓名拼音,总结普通用户字典:Top3000姓名、Top10w姓名。通常可以选择几个弱口令密码,比如:123456,123abc,111111,然后配合top10w来猜解登陆口令,一些初始化的默认密码也很简单,如果能找到配合top10w通常也能爆出登录口令。

  • 如果还是不能猜解成功,就要根据目标信息用字典生成器构造针对性的字典来猜解了,推荐几个比较好的字典生成工具:Crunch、Pydictor、Cewl、Cupp。


四、防护措施与建议

1、弱口令

       如果系统存在弱口令,需要管理员及时修改密码策略和强制密码复杂度,采用字母、数字和符号的组合,长度要达到一定的要求,使用更强的密码来保护账户,从而增强系统的安全性。

2、数据加密

       对网站数据进行加密,可以有效提高页面的安全性,应当采用成熟的可靠的加密技术和方案。

3、会话劫持

       系统在登录时未能正确地管理会话,建议实现适当的会话管理措施,如定期更换会话令牌。

4、防御SQL注入漏洞

       网站使用的SQL查询未能正确地过滤用户提供的输入,建议实现适当的输入验证和过滤来防止SQL注入攻击。

5、防御CSRF漏洞

       系统在某些情况下未能正确地验证来自外部站点的请求,建议实现适当的CSRF保护措施。

6、做好备份和数据恢复工作

       在页面的运行过程中,应定期备份数据,以避免页面数据的丢失。在数据丢失时,还应有相应的数据恢复方案。

7、进行网站安全监控

     定期进行网站安全检查,在发现问题时,及时进行处理,以避免安全问题的扩散。


五、总结

       总的来说,对登录框进行渗透测试需要综合考虑多种攻击方法和漏洞类型,并对扫描结果进行进一步的验证和分析。同时需要及时修复发现的漏洞和弱点。

       测试目标确定后,需要了解目标网站的架构和技术,例如服务器的操作系统和版本、Web服务器的类型和版本、数据库的类型和版本等。这些信息有助于测试人员选择合适的测试方法和工具,从而更有效地进行测试。

       测试策略包括黑盒测试和白盒测试。黑盒测试是指没有任何关于目标系统的内部结构和工作原理的信息,测试人员只能通过对外部界面的测试来判断系统是否存在安全漏洞。白盒测试是指测试人员具有关于目标系统的内部结构和工作原理的信息,可以通过代码审计等方法来发现系统中的漏洞。


该文章在 2023/10/30 10:57:21 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved