【网络安全】网站漏洞挖掘思路
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
📢前言
- ✅博客主页 花城的包包
- 🔊欢迎关注🔎点赞👍收藏⭐️留言📝
- 🔥
-🚀 一个人可以走得很快一群人可以走得更远- 📧只有不断学习才能不被茫茫人海淹没
- 💪如发现错误请评论区留言轰炸我万分感谢
文章目录
前言
哈喽大家好本篇主要分享网站漏洞思路希望你看完有所收获。
一、登录框常见漏洞🎄
1、常规漏洞🍁
sql注入、万能密码
我们在用户名中输入 ‘or 1=1#密码随意。就变成了select name.passwd from users where username= ‘’ or 1=1#’ and password=???。在SQL语法中 # 是注释符所以后面的语句都会杯注释掉那么上面的语句就等价于select name.passwd from users where username=’’ or 1=1。在or 连接中 username=’’ 和 1=1 中有一个为真就为真。所以1=1肯定为真。如果存在sql注入的漏洞则可以直接登录进去。
url重定向
网站接受用户输入的链接跳转到一个攻击者控制的网站可能导致跳转过去的用户被黑客设置的钓鱼页面骗走自己的个人信息和登录口令。
未授权访问
未授权访问漏洞是在攻击者没有获取到登录权限或未授权的情况下不需要输入密码即可通过输入网站控制台主页面地址或者不允许查看的连接便可进行访问同时进行操作。
修改返回包
由于对登录的账号及口令校验存在逻辑缺陷以再次使用服务器端返回的相关参数作为最终登录凭证导致可绕过登录限制如服务器返回一个参数作为登录是否成功的标准由于代码最后登录是否成功是通过获取这个参数来作为最终的验证所以。攻击者通过修改参数即可绕过登录的限制
越权
登录框处同样存在越权
- 平行越权获得相同等级的其它用户的权限
- 垂直越权低权限用户获取高权限用户的权限例如:用户权限获得管理员权限或者超级管理员权限。
目录遍历、信息泄露
目录遍历漏洞是由于web中间件目录访问相关的配置错误造成的该漏洞会泄露web应用程序的敏感路径、敏感的文件信息、网站的编辑器路径或测试接口、系统敏感目录等信息。
造成漏洞原因
程序在实现上没有充分过滤用户输入的…/之类的目录跳转符导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。
跨站脚本攻击
分三类反射型、存储型、DOM型
利用获取cookie钓鱼
这里我就不细说了
2、用户相关🍁
明文传输、用户名遍历
在登录框BP抓包发现用户名、密码是明文传输的即客户端与服务器的数据传输未加密。
危害 攻击者可能通过劫持ARP欺骗、嗅探Sniffer、等手段截获敏感数据若获取用户名和密码信息可以进入到系统当中。
漏洞挖掘
1、查看是否使用HTTPS协议
2、用户名、密码是否加密
任意用户注册
利用在登录框处输入手机号密码验证码随便填BP抓包尝试验证码爆破
下图作用是可以抓到返回包并可修改返回值
任意密码重置
任意账号密码重置的6种方法这里深入讲一下
- 短信验证码回传通过手机找回密码响应包中包含短信验证码。
修复建议响应包中去掉短信验证码。
- 修改用户名、用户ID或手机号重置任意账号密码:
通过手机找回密码一般需要短信验证码验证。当我们输入正确的手机号和正确的短信验证码然后进入重置密码的最后一步也就是输入新的密码输入密码后提交到服务端的post数据包需要包含当前用户的身份信息。而一般网站是通过用户名或用户ID来标识用户身份的如果这个用户名或用户ID没有和当前手机号、短信验证码进行绑定也就是说服务端只验证用户名、ID是否存在而不去验证用户和当前手机号是否匹配那么我们就可以通过修改用户名、ID去修改其他用户的密码了。也可以修改的地方不限于找回密码的数据包比如修改资料的地方也可能存在这样的漏洞。
修复建议
用户操作个人信息时服务端要对当前用户身份进行验证防止越权操作
用来标识用户身份的名称或ID可以使用自定义加密也可以隐藏这些参数直接从cookie中获取用户信息
用户修改密码时应该先对旧密码进行验证或者使用手机短信验证
用户修改手机号时需要先对原手机号进行验证。
- 修改响应包重置任意账号密码通过手机找回密码一般需要短信验证码验证服务端需要告诉客户端输入的验证码是否正确。如果客户端收到true的信息那么就会向带着true的信息向服务端请求进入下一步而服务端收到true的信息就会允许客户端进入下一步。反之如果是false的信息服务端就不会允许客户端进入下一步。所以我们进入下一步的关键是让服务端收到客户端的true信息。而通过Burpsuite我们可以修改服务端返回到客户端的信息这样一来我们就可以输入任意短信验证码然后将服务端返回的false信息改为true就可以绕过短信验证码的验证了。
修复建议
服务端对验证码进行验证结果为true时直接跳到下一步无需向客户端单独返回验证结果
输入新的密码然后提交到服务端服务端应对当前用户名、手机号、短信验证码进行二次匹配验证都为true时才可以修改成功。
- 跳过验证步骤重置任意账号密码找回密码流程一般需要四个步骤1、验证用户名2、验证短信验证码3、输入新密码4、重置成功。
利用思路第一步正常输入用户名第二部输入任意验证码直接访问输入新密码重置密码。
原因当我们输入新的密码后提交到服务端服务端并没有对当前用户身份进行二次验证只是简单的获取到用户名或ID以及新密码从而导致跳过短信验证码验证重置任意账号密码。
修复建议
每一个步骤都要对前一个步骤进行验证
最后提交新密码时应对当前用户名或ID、手机号、短信验证码进行二次匹配验证。
- 重置密码链接中token值未验证或不失效导致任意账号密码重置使用邮箱重置密码时服务端向邮箱发送一个重置密码的链接链接中包含当前用户的身份信息和一个随机生成的token信息如果未对token值进行验证或是验证后不失效我们就可以通过修改用户名或用户ID来重置任意账号密码。
修复建议
服务端对客户端提交的token值进行验证
保证token值使用一次后即失效防止重复使用
对用户ID进行自定义加密
使用根据用户ID生成的token值来标识用户链接中不携带用户ID。
- 找回密码的短信验证码可被爆破导致任意账号密码重置找回密码时使用位数较少的短信验证码或者验证码没有设置有效时间限制导致攻击者借助自动化工具例如BP进行爆破获得短信验证码从而导致重置任意账号密码。
修复建议
验证码满足一定复杂度且限制验证码生效时间
验证短信验证码的数据包使用token值并验证防止自动化工具爆破
弱口令
短信相关漏洞
短信轰炸
短信炸弹是利用互联网第三方接口发送垃圾短信轰炸只需输入手机号码就可以利用网络短信无限轰炸对方手机具有恶意骚扰功能的软件。
短信验证码爆破
上面讲到过了例如用BurpSuite爆破。
验证码回显
思路登录接收验证码时BP抓包可以看到验证码回显在返回包中。
万能验证码
类似于弱口令程序员开发为了方便设置比较简单例如8888、0000等。
验证码失效、未与用户绑定
二、搜索框存在什么漏洞🌲
- SQL注入:SQL注入漏洞主要形成的原因是在数据交互中前端的数据传入到后台处理时没有做严格的判断导致其传入的"数据"拼接到SQL语句中后被当作SQL语句的一部分执行从而导致数据库被增、删、改、查的危害。
- xss漏洞
三、新增主题、添加用户处存在什么漏洞🌲
越权
sql注入
文件上传
未授权登录
csrf
四、导入、导出excel处存在什么漏洞🌲
任意文件读取、下载
任意文件上传漏洞
xxe
五、内容编辑处存在什么漏洞🌲
xss
sql注入
越权
文件上传
编辑器fckeditor、ueditor
六、修改头像处🌲
文件上传getshell、xss
越权
七、页面内容浏览处一般存在漏洞🌲
越权
sql注入
八、结束语🌲
如果有哪里需要改正欢迎各位在评论区留言和我一起探讨。如果你觉得对你有帮助的话就点赞支持一下你们的支持就是我创作的最大动力