简介
条件竞争,发生在多个线程或进程在读写一个共享数据时,结果依赖于他们执行的相对时间的情形。
举例
前期准备
在phpStudy的WWW目录下,写两个文件。
标题
condition_race.php内容:
<?php
$cnt=file_get_contents("count.txt");
//count.txt的初始内容为0
$cnt+=1;
echo "This site was visited $cnt times.";
file_put_contents("count.txt",$cnt);
?>
分析: 代码读取了一个共享数据,count.txt里面的值。如果有大量的访问产生,导致几乎同一时刻有多个file_get_contents函数对文件进行读取。例如,有两个线程A与B都在运行fiile_get_contents函数,A、B都是读出来了10, c n t 都是 10 , A 将 cnt都是10,A将 cnt都是10,A将cnt+1后存入文件,文件内容为11,B同样,结果,文件中的内容为11,但其实应该为12。
count.txt内容:
0
打开phpStudy
BP-Intruder攻击
浏览器设置好代理,进行拦截。
拦截
右键,发送到Intruder模块。设置无payloads,进行1000次请求访问。
Payloads设置
Options配置线程数为80。
配置Options
回到Payloads界面,点击Start attack,等待完成,刷新页面。
攻击完成
当然,你也可以不刷新页面,向书中一样,拉动Results,找到序号1000的Response,查看结果。刷新页面会多一次,当然无所谓,应该是比1000少几百的。
Python脚本攻击
发起200次页面请求,最后结果为32。
"""
--coding:utf-8--
@File: condition_race.py
@Author:frank yu
@DateTime: 2020.12.18 15:50
@Contact: frankyu112058@gmail.com
@Description:
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
***93道网络安全面试题***
![](https://img-blog.csdnimg.cn/img_convert/6679c89ccd849f9504c48bb02882ef8d.png)
![](https://img-blog.csdnimg.cn/img_convert/07ce1a919614bde78921fb2f8ddf0c2f.png)
![](https://img-blog.csdnimg.cn/img_convert/44238619c3ba2d672b5b8dc4a529b01d.png)
内容实在太多,不一一截图了
### 黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
#### 1️⃣零基础入门
##### ① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的**学习成长路线图**。可以说是**最科学最系统的学习路线**,大家跟着这个大的方向学习准没问题。
![image](https://img-blog.csdnimg.cn/img_convert/acb3c4714e29498573a58a3c79c775da.gif#pic_center)
##### ② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
![image-20231025112050764](https://img-blog.csdnimg.cn/874ad4fd3dbe4f6bb3bff17885655014.png#pic_center)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**