草庐IT

安全网络

全部标签

第142篇 合约安全-重入锁

本篇介绍最常见的一种智能合约攻击-重入攻击,它曾导致以太坊分叉为ETH和ETC(以太经典),并介绍如何避免它。1.重入攻击重入攻击是智能合约中最常见的一种攻击,攻击者通过合约漏洞(例如fallback函数)循环调用合约,将合约中资产转走或铸造大量代币。著名的重入攻击事件:2016年,TheDAO合约被重入攻击,黑客盗走了合约中的3,600,000枚 ETH,并导致以太坊分叉为 ETH 链和 ETC(以太经典)链。距离TheDAO被重入攻击已经6年了,但每年还是会有几次因重入漏洞而损失千万美元的项目,因此理解这个漏洞非常重要。0xAA 抢bank的故事为了让大家更好理解,这里讲一个"黑客0xAA

javascript - 使用 transportCredentialOnly 安全性对 RESTful WCF 服务的跨域 Ajax JSON POST 支持

我之前就这个主题发表过帖子,但经过一年的其他事情,我再次设法陷入困境。我将尝试简要概述该场景以及当前使工作正常进行的尝试:在主机上托管HTML、JS等的IISWeb服务器:iis.mycompany.com(简称foo)通过主机上的Windows服务托管的WCFRESTfulWeb服务:wcf.mycompany.com(简称bar)从foo提供的Javascript通过对bar上的WCF服务进行RESTfulajax调用(GET或POST,取决于操作)来工作,显然这些是跨域调用,因为它们不在同一主机上。Javascript使用jQuery(1.7.2)框架来操作DOM并执行对bar(

javascript - 使用 JavaScript API 的 Parse 中的对象安全性 - 将用户绑定(bind)到保存的对象

在Parse中管理实体时,我需要将许多对象绑定(bind)到当前登录的用户。我的担忧是:没有后端代码确保传入的User是当前登录的用户。用户可以将任何新创建的对象分配给其他用户。他们有thisexampleTODOapp在thedocumentation中未显示云代码以确保Todo分配给的User是当前登录的用户。现在我浏览了thecode我开始认为,无论何时保存一个对象,它都会与用户相关联。谁能解释为什么这个应用程序工作以及它如何将Todo与User相关联?更新:没关系,我在他们的代码中找到了指定用户保存待办事项的位置。我的问题是,是什么阻止用户编写使用其他用户ID保存待办事项的代码

javascript - 有什么方法可以测试移动浏览器是否支持使用网络技术的 Flash?

我知道大多数移动浏览器不支持javascript,我该如何检查? 最佳答案 如果它没有帮助,请不要反对我;)但这似乎是相关的:http://kb2.adobe.com/cps/140/tn_14086.html来自网站(编辑和删节):ThisapproachtoFlashPlayerdetectionreliesontwokeyelements;aFlashplug-in"sniffer"thatusestheGetURLactionwhichonlytheFlash4Playerwillrespondto,andanHTMLpag

javascript - 什么是 JSON 安全对象?

在凯尔辛普森的书中YouDon'tKnowJS:this&ObjectPrototypes,他写了这篇关于如何复制对象的主题:OnesubsetsolutionisthatobjectswhichareJSON-safe(thatis,canbeserializedtoaJSONstringandthenre-parsedtoanobjectwiththesamestructureandvalues)caneasilybeduplicatedwith:varnewObj=JSON.parse(JSON.stringify(someObj));Ofcourse,thatrequiresy

javascript - 为什么这个内联 javascript 没有被内容安全策略阻止?

我有一个页面,我像这样设置内容安全策略的脚本源:script-src'self'*.uservoice.com*.intuit.comajax.googleapis.comlocalhost:*当我使用我自己创建的用于测试的硬编码内联脚本加载页面时,它像预期的那样被阻止:RefusedtoexecuteinlinescriptbecauseitviolatesthefollowingContentSecurityPolicydirective:"script-src'self'*.uservoice.com*.intuit.comajax.googleapis.comlocalhost

javascript - 如何关闭渐进式网络应用程序

在移动设备上安装了pwa后,如何像关闭native应用一样关闭应用,而无需用户多次点击后退按钮。我知道在网页上window.close是个坏主意,但这是移动设备上的pwa。在Cordova中您将使用navigator.app.exitApp,这当然在pwa上不可用。 最佳答案 这是我今天创建的解决方案。当您点击后退按钮时,会出现一个对话框,要求您再次点击后退按钮以实际关闭应用程序,或取消以返回页面。整个过程对历史进行了一些操作,并且可以在Chrome上运行。可以调整一些东西,使其适用于更多的浏览器。在历史应该如何详细工作方面,浏览器

javascript - window.open() 在添加到主屏幕的移动 Safari 网络应用程序中不起作用

这是我试过的所有代码:select:function(event,ui){window.open(ui.item.value,"_blank");}select:function(event,ui){window.location.href=ui.item.value;}在网络应用程序模式下,屏幕只是刷新,不会转到该位置。在MobileSafari中,它按预期工作。这是iPhone上网络应用程序的限制吗?有解决办法吗?完整代码如下:$(document).ready(function(){varcct=$('input[name=csrf_token]').val();varsearc

javascript - 调试和分析网络 worker

我正在运行计算,例如网络worker中的寻路。这可能需要几秒钟,我想对其进行优化。对于我当前的代码,Chrome似乎快了大约3倍,但是时间花在了哪里或者为什么我没有深入了解。通常,您如何调试WebWorker?您如何描述网络worker?(Firefox和Chrome) 最佳答案 在Chrome中,您可以在Sources>Workers中打开webworker源代码,并获得prifile的完整界面。在Firefox中进行分析-不知道。和http://www.nczonline.net/blog/2009/08/25/web-work

javascript - 在javascript中重命名文档变量是否安全

我注意到GoogleClosureCompiler没有将document重命名为d以减少空间。我想不出这会破坏代码的情况(即document指向其他东西)。实际上,window也是如此。是否有理由以这种方式保护文档?==编辑==通过重命名,我正在考虑重新分配它。示例如下。vard=document;varobj1=d.getElementById("obj1");varobj2=d.getElementById("obj2");...//withenoughusesofdocumentsoitmakestoreassignitsize-wise. 最佳答案