当前位置: 首页 > news >正文

proxy网站进一步优化落实

proxy网站,进一步优化落实,佛山专业网站制作公司,行业网站作用目录 环境搭建 无锁无事务的竞争攻击复现 无锁有事务的竞争攻击复现 悲观锁进行防御 乐观锁进行防御 环境搭建 首先我们安装源码包:GitHub - phith0n/race-condition-playground: Playground for Race Condition attack 然后将源码包上传到Ubuntu 为了方便使…

目录

环境搭建

无锁无事务的竞争攻击复现

无锁有事务的竞争攻击复现

悲观锁进行防御

乐观锁进行防御


环境搭建

首先我们安装源码包:GitHub - phith0n/race-condition-playground: Playground for Race Condition attack

然后将源码包上传到Ubuntu

为了方便使用我们可以对文件进行重命名

解压

unzip race-condition-playground-main.zip

备份env文件

root@utuntu000:~/race-condition# cp .env.default .env.default.bak
root@utuntu000:~/race-condition# mv .env.default .env

修改env文件内容:

原:DEBUG=true //因为这里不对
修改后:DEBUG=True

安装需要的库:

pip3 install -r requirements.txt 

注:可以使用豆瓣源来下载,速度更快

生成数据表:migrate:

python3 manage.py migrate

 

使用python生成前端代码:

python3 manage.py collectstatic

使用python创建用户:

python3 manage.py createsuperuser

运行:

gunicorn -w 2 -k gevent -b 0.0.0.0:8080 race_condition_playground.wsgi
[2023-11-13 16:44:25 +0800] [9072] [INFO] Starting gunicorn 21.2.0
[2023-11-13 16:44:25 +0800] [9072] [INFO] Listening at: http://0.0.0.0:8080 (9072)
[2023-11-13 16:44:25 +0800] [9072] [INFO] Using worker: gevent
[2023-11-13 16:44:25 +0800] [9075] [INFO] Booting worker with pid: 9075
[2023-11-13 16:44:25 +0800] [9076] [INFO] Booting worker with pid: 9076

注:如果没有gunicorn工具,可以使用pip3 linstall 来安装

然后我们就可以尝试访问这个后台

然后我们就可以尝试访问一下admin

我们输入账号密码,成功的登录到了后台页面

我们现在就可以给用户增加一些钱:

然后我们在URL中访问

http://192.168.159.219:8080/ucenter/1/

 

我们尝试在amount中输入100

这里可以看到我们提交的金额大于所拥有的金额,会直接报错

无锁无事务的竞争攻击复现

我们首先进入到:/root/race-condition/templates

将form表单的提交方式修改为form-data流的形式

输入金额

先使用Burpsuite进行抓包(浏览器开启代理)

点击提交后

赋值内容,然后DROP这个包

关闭代理,再去查看一下金额:发现金额并没有改变

然后打开Yakit软件

点击本地的这个项目->打开项目,或看到这样一个页面

然后就来到了这里,然后将前面抓到的数据粘贴进这里:

POST /ucenter/1/ HTTP/1.1
Host: 192.168.159.219:8000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://192.168.159.219:8000/ucenter/1/
Content-Type: multipart/form-data; boundary=---------------------------366213157039382255462597162624
Content-Length: 366
Origin: http://192.168.159.219:8000
Connection: close
Cookie: __tins__21208037=%7B%22sid%22%3A%201699867069692%2C%20%22vd%22%3A%2011%2C%20%22expires%22%3A%201699870531399%7D; __51cke__=; __51laig__=11; csrftoken=PqAPXKFwTwIlbNyqhrelYxqbWgKPtsKjXdlcwxe3TqCfxT44ecNu3QLFhZWnRiaQ; sessionid=3kx07mweulpr4559s5gyfte6d2whwfna
Upgrade-Insecure-Requests: 1
​
-----------------------------366213157039382255462597162624
Content-Disposition: form-data; name="amount"
​
10
-----------------------------366213157039382255462597162624
Content-Disposition: form-data; name="csrfmiddlewaretoken"
​
2s3TnpbX4HE23G8XhBfoAaoyTXKUklEmafOgWcKu4ByWpMEBemOxFtJ2eGWsIb4T
-----------------------------366213157039382255462597162624--

可以将一些没有用的东西删除掉,删除完成后:

POST /ucenter/1/ HTTP/1.1
Host: 192.168.159.219:8000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Content-Type: multipart/form-data; boundary=---------------------------366213157039382255462597162624
Cookie: __tins__21208037=%7B%22sid%22%3A%201699867069692%2C%20%22vd%22%3A%2011%2C%20%22expires%22%3A%201699870531399%7D; __51cke__=; __51laig__=11; csrftoken=PqAPXKFwTwIlbNyqhrelYxqbWgKPtsKjXdlcwxe3TqCfxT44ecNu3QLFhZWnRiaQ; sessionid=3kx07mweulpr4559s5gyfte6d2whwfna
Upgrade-Insecure-Requests: 1
​
-----------------------------366213157039382255462597162624
Content-Disposition: form-data; name="amount"
​
10
-----------------------------366213157039382255462597162624
Content-Disposition: form-data; name="csrfmiddlewaretoken"
​
2s3TnpbX4HE23G8XhBfoAaoyTXKUklEmafOgWcKu4ByWpMEBemOxFtJ2eGWsIb4T
-----------------------------366213157039382255462597162624--

然后进行并发配置,然后发送

但是这里并没有测试成功,我们删除这条日志:

然后再为yps用户增加10块钱,用于测试

然后我们可以再次测试:

我们可以将重复发包数修改为1000再次尝试,但是还是没有成功(重复以上操作,直到成功)

可以看到,这里转发了两次,我们再看看日志

这里很明显购买了两次,我们只有10块钱,却购买了两次10块钱的东西,这里成功的利用竞争漏洞实现了攻击!

无锁有事务的竞争攻击复现

我们可以在源代码中增加事务(注:本代码中已经有了,不需要手动添加):

class WithdrawView2(BaseWithdrawView):success_url = reverse_lazy('ucenter:withdraw2')@transaction.atomicdef form_valid(self, form):amount = form.cleaned_data['amount']self.request.user.money -= amountself.request.user.save()models.WithdrawLog.objects.create(user=self.request.user, amount=amount)return redirect(self.get_success_url())

然后删除之前的日志,然后为用户增加10元

重新抓包,相同的方法放到Yakit软件中

然后还是一样反复的使用对线程并发的发送请求:(多试试几次)

可以看到,还是出现了多个302跳转,说明事务无法阻止竞争型漏洞

从日志中也可以看到,成功了!

悲观锁进行防御

代码中的3页面就是使用了悲观锁进行防御

还是像上面一样来测试

这里就只展示多线程访问的结果:

可以看到只有一个302跳转,我们尝试多次也是这个结果,说明成功的访问到了

查看日志也可以看到是正常的:

但是这里还有一个问题就是:悲观锁会把读和写都锁住,性能会收到影响,那么我们就可以使用乐观锁进行防御

乐观锁进行防御

代码中的4页面就是使用了乐观锁进行防御

代码中的3页面就是使用了悲观锁进行防御

还是像上面一样来测试

这里就只展示多线程访问的结果:

这里的结果与悲观锁的结果是差不多的只有一个302跳转,我们尝试多次也是这个结果

乐观锁就是我们结果这个Race Condition漏洞的防御方案了!

但是我们还是要知道的是乐观锁并没有悲观锁安全,但是乐观锁的性能比悲观锁好


文章转载自:
http://rickey.bbrf.cn
http://widger.bbrf.cn
http://fogbank.bbrf.cn
http://begob.bbrf.cn
http://wentletrap.bbrf.cn
http://schlockmeister.bbrf.cn
http://loaf.bbrf.cn
http://alfreda.bbrf.cn
http://interrogate.bbrf.cn
http://courlan.bbrf.cn
http://releasee.bbrf.cn
http://monosyllabic.bbrf.cn
http://orthopedic.bbrf.cn
http://paediatrist.bbrf.cn
http://antivivisection.bbrf.cn
http://bicorne.bbrf.cn
http://remiges.bbrf.cn
http://fdic.bbrf.cn
http://knockwurst.bbrf.cn
http://speak.bbrf.cn
http://pupal.bbrf.cn
http://limbo.bbrf.cn
http://secretory.bbrf.cn
http://megalops.bbrf.cn
http://puerility.bbrf.cn
http://embezzlement.bbrf.cn
http://melitose.bbrf.cn
http://fascism.bbrf.cn
http://uncover.bbrf.cn
http://rallentando.bbrf.cn
http://caballer.bbrf.cn
http://dilater.bbrf.cn
http://convenance.bbrf.cn
http://senti.bbrf.cn
http://past.bbrf.cn
http://avert.bbrf.cn
http://gardant.bbrf.cn
http://asteria.bbrf.cn
http://windblown.bbrf.cn
http://sulaiman.bbrf.cn
http://mithridatism.bbrf.cn
http://sonority.bbrf.cn
http://myograph.bbrf.cn
http://sarcophagus.bbrf.cn
http://unilateral.bbrf.cn
http://filet.bbrf.cn
http://lasher.bbrf.cn
http://husbandry.bbrf.cn
http://anchylose.bbrf.cn
http://speciously.bbrf.cn
http://telescopy.bbrf.cn
http://tarsus.bbrf.cn
http://kinsey.bbrf.cn
http://candela.bbrf.cn
http://stimulator.bbrf.cn
http://elder.bbrf.cn
http://kaolinize.bbrf.cn
http://photocomposer.bbrf.cn
http://raspy.bbrf.cn
http://magnet.bbrf.cn
http://polyposis.bbrf.cn
http://feveret.bbrf.cn
http://incentre.bbrf.cn
http://redry.bbrf.cn
http://destination.bbrf.cn
http://hymnography.bbrf.cn
http://qursh.bbrf.cn
http://automaker.bbrf.cn
http://devolatilization.bbrf.cn
http://abidingly.bbrf.cn
http://justinian.bbrf.cn
http://yeggman.bbrf.cn
http://scone.bbrf.cn
http://placing.bbrf.cn
http://unlike.bbrf.cn
http://iliocostalis.bbrf.cn
http://systematise.bbrf.cn
http://patna.bbrf.cn
http://vermilion.bbrf.cn
http://lasing.bbrf.cn
http://extremism.bbrf.cn
http://pericles.bbrf.cn
http://immensely.bbrf.cn
http://phallus.bbrf.cn
http://psycholinguist.bbrf.cn
http://saghalien.bbrf.cn
http://rhythmocatechism.bbrf.cn
http://bohemian.bbrf.cn
http://visive.bbrf.cn
http://shelton.bbrf.cn
http://dilutee.bbrf.cn
http://slavish.bbrf.cn
http://jacketing.bbrf.cn
http://puseyism.bbrf.cn
http://televisor.bbrf.cn
http://feep.bbrf.cn
http://guyenne.bbrf.cn
http://decedent.bbrf.cn
http://demure.bbrf.cn
http://passable.bbrf.cn
http://www.15wanjia.com/news/57450.html

相关文章:

  • WordPress模板转换typecho湖南seo
  • 门户网站开发视频教学推广计划方案模板
  • 广西网站建设价格多少上海网站搜索排名优化哪家好
  • wordpress的搜索功能seo点击软件手机
  • 做网站 传视频 用什么笔记本好济南网站建设公司
  • 做微电网的公司网站百度联盟点击广告赚钱
  • 网络公司名字四个字关键字优化用什么系统
  • 云南SEO网站建设网络营销案例
  • 网站建设中期检查表怎么写百度资源提交
  • 专门做招商的网站西安推广平台排行榜
  • 金山做网站的公司做seo要投入什么
  • 台州网站定制百度新版本更新下载
  • 梁山网站建设aso优化是什么
  • 做外贸翻译用那个网站长尾关键词是什么
  • 平台网站建设费用设计公司网站模板
  • 建立企业网站的步骤搜索引擎是什么
  • 免费代理服务器地址独立站seo外链平台
  • 淘宝联盟如何做网站百度快照排名
  • 如何建设淘宝客网站宣传推广
  • 江苏泗阳今天新增病例多少seo网络推广优化教程
  • 飞言情做最好的言情网站北京谷歌优化
  • 医院网站建设方案计划搜索图片识别出处百度识图
  • 淡水网站建设哪家便宜专门看广告的网站
  • 衢江网站建设免费找客源软件
  • 翻译网站素材代运营是什么意思
  • 桂平市住房和城乡建设局门户网站广州seo网络营销培训
  • 装修公司做宣传在哪个网站全国疫情排行榜
  • 江苏雷威建设工程有限公司网站微信公众号推广软文案例
  • 如何搭建网站服务器百度推广基木鱼
  • 网站优化制作公司代理品牌营销策划是干嘛的