网络安全知识培训学习笔记
- 2019 年 10 月 28 日
- 筆記
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014427391/article/details/102648862
逻辑漏洞
条件竞争
多个线程竞争同一个共享代码、变量、文件等称之为条件竞争。那么什么情况存在竞争条件?
实例: 上传文件,下面是一个上传文件的例子,上传文件之前先校验权限
#include <stdio.h> #include <unistd.h> #include <string.h> #define DELAY 10000 int main() { char * fn = "/tmp/XYZ"; char buffer[160]; FILE *fp; long int i; //get user input scanf("0s", buffer ); if(!access(fn, W_OK)) { //simulating delay for (i=0; i < DELAY; i++){ int a = i^2; } fp = fopen(fn, "a+"); fwrite("n", sizeof(char), 1, fp); fwrite(buffer, sizeof(char), strlen(buffer), fp); fclose(fp); }else{ printf("No permission n"); } }
从例子看并没有看出什么,可是对于专业安全人员来说,什么程序就是一个很典型的竞争条件。分析一下,首先上传文件之前会进行权限校验,然后才可以上传,在校验权限直接存在一个时间差,在这个时间差直接就可以形成一个竞争条件,黑客完全可以利用这个竞争条件,在时间差,暴露破解,不断发请求上传文件,竞争上传文件,当然黑客上传的不是正规文件,一般都是一些脚本木马。
渗透测试工具
渗透测试工具:BurpSuite(数据包抓取) 渗透测试Burp的intruder功能实现多个并发请求
逻辑漏洞分类
暴力破解 越权漏洞 条件竞争
安全案例
密码重置 邮箱找回:分析token构造,时间戳md5值 MD5(time+username)
验证码方式找回: 防御:设置更复杂的验证码,设置时间 验证身份->修改密码界面(session,验证身份用户到修改密码界面是同个用户)
越权漏洞
越权漏洞:平行越权,垂直越权 平行越权:用户的等级相同进行越权
用户A,B:普通用户 用户C:管理员用户
A->B:平行越权
A->C:垂直越权
例子:购物车 订单信息例子
越权漏洞测试挖掘,查订单操作,修改个人信息
- 鉴权参数,accountId
- 操作:抓包->鉴权参数
相关名词: ECB模式 分组加密模式 Hash碰撞 数字签名