Answers:
从早期的在线商店开始:
在购物车的数量字段中输入.1可获得90%的折扣。该软件正确地将总成本计算为.1 *成本,而人工包装的订单只是简单地掩盖了奇数“”。在要包装的数量前面:)
谷歌黑客(Google hacking)是最不可原谅的安全漏洞,不幸的是,这是一个非常常见且易于发现的漏洞。例子:
http://www.google.com/search?q=inurl%3Aselect+inurl%3A%2520+inurl%3Afrom+inurl%3Awhere
令人惊讶的是,Internet上,尤其是政府网站上有多少页面通过查询字符串传递SQL查询。这是最糟糕的SQL注入形式,并且无需花费任何精力即可找到易受攻击的站点。
通过细微的调整,我已经能够找到不受保护的phpMyAdmin安装,不受保护的MySQL安装,包含用户名和密码的查询字符串等。
社会工程学:
<Cthon98> hey, if you type in your pw, it will show as stars
<Cthon98> ********* see!
<AzureDiamond> hunter2
<AzureDiamond> doesnt look like stars to me
<Cthon98> <AzureDiamond> *******
<Cthon98> thats what I see
<AzureDiamond> oh, really?
<Cthon98> Absolutely
<AzureDiamond> you can go hunter2 my hunter2-ing hunter2
<AzureDiamond> haha, does that look funny to you?
<Cthon98> lol, yes. See, when YOU type hunter2, it shows to us as *******
<AzureDiamond> thats neat, I didnt know IRC did that
<Cthon98> yep, no matter how many times you type hunter2, it will show to us as *******
<AzureDiamond> awesome!
<AzureDiamond> wait, how do you know my pw?
<Cthon98> er, I just copy pasted YOUR ******'s and it appears to YOU as hunter2 cause its your pw
<AzureDiamond> oh, ok.
来自bash.org
我在微软初期的真实故事。
直到您醒来的那一天,您才知道恐惧,并在当天早上在ZDNet.com上看到了标题为“ 在'Blah'中发现了最糟糕的Internet Explorer安全漏洞” “'Blah'是您六个月前编写的代码。
上班后,我立即检查了更改日志,发现另一个团队中的某个人(我们信任该人对产品进行了更改)已经签出了我的代码,无缘无故地更改了许多安全注册表项设置,再次签入,从未进行代码审查或从未告诉过任何人。直到今天,我仍然不知道他以为他在做什么。此后不久,他离开了公司。(他自己同意。)
(更新:对评论中提出的问题的一些回应:
首先,请注意,我选择采取慈善立场,认为安全密钥更改是无意的,并且基于粗心或不熟悉,而不是恶意。我没有一种或另一种证据,并且相信将错误归因于人类的谬误是明智的。
第二,我们的签到系统现在比十二年前强大得多。例如,现在如果没有签到系统通过电子邮件将变更列表发送给相关方,则无法签入代码。特别是,在船运周期后期进行的更改周围有很多“过程”,这确保了进行正确的更改以确保产品的稳定性和安全性。)
无论如何,该错误是因为不安全地使用Internet Explorer的对象已被意外释放为标记为“脚本安全”。该对象能够将二进制文件(实际上是OLE Automation类型库)写入任意磁盘位置。这意味着攻击者可以制作一个包含某些敌对代码字符串的类型库,将其保存到已知的可执行位置的路径中,为其提供扩展名,以使脚本得以运行,并希望用户以某种方式进行操作会意外地运行代码。我不知道使用此漏洞的任何成功的“真实世界”攻击,但是可以使用此漏洞进行有效的利用。
我们迅速为该产品交付了一个补丁,让我告诉您。
我在JScript中造成并随后修复了更多的安全漏洞,但是没有一个漏洞比任何人都做得大。
希望您能在这里找到问题所在。(实际上是非常错误的):
String emailBody = "";
for (int i = 0; i < subscribers.Count; i++)
{
emailBody += "Hello " + subscribers[i].FirstName + ",";
emailBody += "this is a reminder with your account information: \n\n:";
emailBody += "Your username: " + subscribers[i].Username + "\n";
emailBody += "Your password: " + subscribers[i].Password + "\n";
emailBody += "Have a great day!";
emailDispatcher.Send(subscribers[i].EmailAddress, emailBody);
}
最后一个收件人是最幸福的;)
我见过的最严重的安全漏洞实际上是您的真实密码,导致Google Bot删除了我的整个数据库。
回到我最初学习Classic ASP时,我编写了自己的基本博客应用程序。带有所有管理脚本的目录已由IIS上的NTLM保护。有一天,我搬到一台新服务器上,忘记了重新保护IIS中的目录(糟糕)。
博客主页具有指向主管理屏幕的链接,并且主管理屏幕具有每个记录的DELETE LINK(未确认)。
有一天,我发现数据库中的每条记录都被删除(数百个个人条目)。我认为有些读者闯入该网站并恶意删除了每条记录。
我从日志中发现:Google Bot对该站点进行了爬网,跟随了管理员链接,然后继续跟踪所有的DELETE LINKS,从而删除了数据库中的每条记录。我觉得我当之无愧地被Google Bot意外地削弱了年度最佳Dumbass奖。
幸好我有备份。
我见过的最严重的漏洞是Web应用程序中的错误,在该错误中输入空的用户名和密码会以管理员身份登录:)
我在《每日WTF》中看到了这个。
<script language="javascript">
<!--//
/*This Script allows people to enter by using a form that asks for a
UserID and Password*/
function pasuser(form) {
if (form.id.value=="buyers") {
if (form.pass.value=="gov1996") {
location="http://officers.federalsuppliers.com/agents.html"
} else {
alert("Invalid Password")
}
} else {
alert("Invalid UserID")
}
}
//-->
</script>
没有什么能击败这个恕我直言的。
在没有名字的大学里,他们的所有行动查询都是通过URL传递的,而不是通过表格传递的。
在Google Bot出现并通过其所有URL并擦除其数据库之前,这种东西一直很有效。
没有人感到惊讶的是,没有人提出社会工程学的知识,但是我对这篇文章感到反感。
简介:恶意用户可以购买几十个闪存驱动器,为它们加载自动运行的病毒或特洛伊木马,然后在深夜将这些闪存驱动器撒在公司的停车场中。第二天,每个人都出现在工作中,偶然发现了闪亮,糖果状,不可抗拒的硬件,并自言自语:“哇,免费的闪存驱动器,我想知道它里面有什么!” -20分钟后,整个公司的网络都关闭了。
微软鲍勃
(来源:丹的20世纪Abandonware)
如果您第三次输入密码错误,系统会询问您是否忘记了密码。
http://img132.yfrog.com/img132/8397/msbob10asignin15.gif
但是,除了保持安全性(例如继续提示输入正确的密码直到输入密码或在多次错误尝试后将您锁定)外,您可以输入任何新密码,它将替换原来的密码!任何人都可以使用任何受密码保护的Microsoft Bob帐户来执行此操作。
无需事先认证。他的意思是,User1可以通过以下方式更改自己的密码:只需三遍误输入密码,然后第四次输入新密码-无需使用“更改密码”。
这也意味着User1可以完全相同的方式更改User2,User3 ...的密码。任何用户都可以更改任何其他用户的密码,只需将其输入三次即可,然后在出现提示时输入新密码,然后他们便可以访问该帐户。
我有乔X的故居地址,需要知道他在同一个城市的最新地址,但无法联系他。我以为他每天都会收到一堆平常的邮购目录,所以我随便给See's Candies(而不是Victoria's Secret,Swiss Colony或任何其他大邮件)打电话给800号:
我:“您好,我叫JoeX。我想您已经两次在我的旧地址和新地址上将我列入您的邮件列表。您的计算机在[旧地址]或[假地址]上显示我吗? ?
接线员:“不,我们给您显示[新地址]。”
给予1 = 1的文本框列出了所有用户在系统中。
作为生活的应用程序安全顾问,有许多常见问题,这些问题使您可以通过某种方式在网站上进行管理。但是真正很酷的部分是,当您可以购买价值一百万美元的袜子时。
这是我的一个朋友,从事这项工作,但要紧的是,某个现在非常流行的在线书店(以及其他所有商店)中商品的价格被存储在HTML本身中作为隐藏字段。早在早期,这个漏洞在许多在线商店中就出现了,他们才刚刚开始了解网络。几乎没有安全意识,我的意思是说真的是谁将下载HTML,编辑隐藏字段并重新提交订单?
我们自然将价格更改为0,并订购了100万双袜子。您也可以将价格更改为负,但是这样做会使他们的后端计费软件缓冲区的某些部分溢出,从而结束了交易。
如果我可以选择另一个,那将是Web应用程序中的路径规范化问题。能够执行foo.com?file=../../../../etc/passwd真是太好了
意外地将数据库根密码提交给源代码管理。这很糟糕,因为它是Sourceforge上的源代码控制。
不用说,密码很快就被更改了。
重要IT员工离开公司后,请勿更改管理员密码。
尽管这不是我见过的最严重的安全漏洞。但这至少是我发现自己最糟糕的情况:
一家相当成功的有声读物在线商店在成功认证后使用cookie存储当前用户的标识信息。但是您可以轻松地更改Cookie中的用户ID并访问其他帐户并在其上购买。
就在.com时代开始之初,我在一家大型零售商工作。我们的竞争对手比我们早几个月推出了在线商店,我们对此非常感兴趣。当然,我们去尝试一下...并很快意识到我们的购物车混在一起了。经过一段时间使用查询字符串,我们意识到我们可以劫持彼此的会话。把握适当的时机,您可以更改收货地址,但不用理会付款方式...在您将购物车中装满您喜欢的物品之后,所有这些都将成为可能。
当我第一次加入我目前工作的公司时,我的老板正在寻找一个潜在的新客户的现有电子商务网站。这是在IIS和电子商务都还处于初期的阶段,我们可以说,安全性还不那么严格。
长话短说,他出于好奇而更改了一个URL,并意识到没有关闭目录浏览功能,因此您可以将页面名称从URL的末尾删除,然后查看URL上的所有文件。网络服务器。
我们最终浏览了一个包含Access数据库的文件夹,该文件夹已下载。它是整个电子商务客户/订单数据库,其中充满了数千个未加密的信用卡号。
我13岁那年,我的学校为学生们建立了一个社交网络。不幸的是,他们发现了一个安全漏洞,您可以在其中将URI更改为另一个用户ID,例如“?userID = 123”,并为该用户登录。显然,我告诉我的朋友们,最后学校的社交网络充满了色情。
虽然不会推荐。
我认为到目前为止,超级用户访问的空白用户名/密码字段是最糟糕的。但是我看到的一个是
if (password.equals(requestpassword) || username.equals(requestusername))
{
login = true;
}
太糟糕了,一位操作员会带来如此大的改变。
我的将是我曾经是客户的银行。我无法登录,所以打电话给客户服务。他们问我我的用户名,没有别的-没问任何安全性问题或试图验证我的身份。然后,他们没有将密码重设发送到他们所保存的电子邮件地址,而是问我要将其发送到哪个电子邮件地址。我给他们提供的地址与我存档的地址不同,并且可以重设密码。
因此,从本质上讲,黑客所需的只是我的用户名,然后他便可以访问我的帐户。这是针对一家大型银行,美国至少90%的人会听说过。这发生在大约两年前。我不知道这是不是训练有素的客户服务代表,还是这是标准程序。
我将分享我创建的一个。有点儿。
几年前和几年前,我在一家公司工作,希望在其ASP网站上建立索引。所以我就去建立索引服务器,排除了一些管理目录,一切都很好。
但是我不知道有人给销售人员ftp访问Web服务器的权限,以便他可以在家工作,这是拨号的日子,这是他交换文件的最简单方法....然后他开始上传内容,包括详细说明我们服务上的标记的文档。...当人们搜索“费用”时,索引服务器已建立索引并开始提供服务。
记住孩子,白名单而不是黑名单。
最简单但真正值得的成本之一是:
使用PayPal之类的引擎的支付系统可能存在缺陷,因为在付款成功后不会检查PayPal的响应。
例如:
我可以去一些CD购买网站,并在购物车中添加一些内容,然后在结帐阶段,页面上通常会有一个表格,其中已填满用于Paypal的字段,以及“付款”的提交按钮。
使用DOM编辑器,我可以进入的形式是“活的”,更改从价值£899.00
到£0.01
,然后点击提交...
当我在PayPal方面时,可以看到金额为1便士,因此我付了钱,并且PayPal将一些参数重定向到初始购买站点,该站点仅验证诸如payment_status=1
等的参数,而不会验证验证付款金额。
如果他们没有足够的日志记录或自动分派产品,那么这可能会很昂贵。
最糟糕的网站是提供应用程序,软件,音乐等的网站。
一个在线文档管理器怎么样,它可以设置您可以记住的每个安全权限...
直到您进入下载页面为止... download.aspx?documentId = 12345
是的,documentId是数据库ID(自动递增),您可以循环访问每个数字,任何人都可以获取所有公司文档。
当收到有关此问题的警报时,项目经理的答复是:好的,谢谢。但是以前没有人注意到这一点,因此让我们保持原样。