你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。

不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。


当前回答

对我来说,最糟糕的,最可怕的,最危险的,犯罪的疏忽,但在彻底破坏整个系统的安全方面,奇怪的优雅总是来自the Daily WTF:

客户端PHP

function saveform()
{
  var firstName = escapeSql(mainForm.elements.txtFirstName.value);
  var lastName = escapeSql(mainForm.elements.txtLastName.value);
  /* ... */
  var offerCode = escapeSql(mainForm.elements.txtOfferCode.value);

  var code =
  '  $cn = mssql_connect($DB_SERVER, $DB_USERNAME, $DB_PASSWORD)           ' +
  '          or die("ERROR: Cannot Connect to $DB_SERVER");                ' +
  '  $db = mssql_select_db($DB_NAME, $cn);                                 ' +
  '                                                                        ' +
  '  if (mssql_query("SELECT 1 FROM APPS WHERE SSN=\''+ssn+'\'", $cn)) ' +
  '  { $ins = false; }                                                     ' +
  '  else                                                                  ' +
  '  { $ins = true; }                                                      ' +
  '                                                                        ' +
  '  if ($ins) {                                                           ' +
  '    $sql = "INSERT INTO APPS (FIRSTNM, LASTNM, ..., OFFERCD) VALUES ("; ' +
  '    $sql+= "\''+firstName+'\',";                                        ' +
  '    $sql+= "\''+lastName+'\',";                                         ' +
  '    $sql+= "\''+offerCode+'\')";                                        ' +
  '                                                                        ' +
  '  /* ... */                                                             ' +
  '                                                                        ' +
  '  mssql_query($sql, $cn);                                               ' +
  '  mssql_close($cn);                                                     ';

  execPhp(code);
}

就盯着它看一分钟。想想你所能做的一切。女士们先生们,这是洛夫克拉夫特的杰作。

其他回答

我曾经在一个名为ROL的本地互联网门户网站上发现了一个漏洞。RO(罗马尼亚在线-当时由PCNET拥有)。他们有一个免费的网络邮件系统。我想要一个特定的用户名(很容易猜到是哪个),但它已经被占用了。

出于好奇,我进入了“忘记密码”页面,输入了我想要的(但已被占用的)用户名。然后,在提交时,我看到了一个空白的安全问题。

哇……让我们看看他们是不是很差劲。我确保答案文本框为空,然后提交

“恭喜你,输入你的新密码”。

我输入了密码,劫持了账户。


可能发生在他们的…PHP脚本是他们比较从数据库(在答案-当然他们保持在明文)的空字符串提交我。让它们“相等”引导我进入下一步,重置密码。

是的,站不住脚的。

太可怕了,我告诉我所有的朋友取消账户!


我在一家很受欢迎的赌场网站工作。flash前端不仅仅是一个不起眼的终端。他们有一个视觉错误,不正确地管理头像图像。在我和我的朋友解决这个问题的时候,我们发现了一个完全不同的缺陷。

我们观察了从客户端到服务器的流量,发现它是base64编码的。 考虑到它会有所帮助,构建了一个简单的python终端脚本,可以利用它。我们发现客户端会向服务器发送命令和逻辑信息。

几分钟之内,我就能简单地输入我有多少筹码,谁赢了,我有什么手牌,简单地用纯文本写出来!


另一个主要缺陷-用户密码被加密,管理员密码没有使用与以前相同的漏洞,我获得了数据库信息,找到管理员登录并接管了系统。

我所见过的最糟糕的是信用卡、个人识别码和姓名以纯文本形式存储。我差点心脏病发作了。

About 3 years ago I built a site for a somewhat large non-profit organization in our state. When it came time to deploy the application to their web host server, I noticed an odd file named "cc.txt" or something obvious like that in their public site. It was under their web root, was getting served, and was a csv file of all their donor's names, addresses, credit card numbers, expiration dates, and CVV/CVC codes. I cannot count the number of times I brought the issue up - first to my boss, then our company accountant, the client's IT director, finally the client's President. That was 3 years ago. The file is still being served, it can even be googled. And it's been updated. I tend not to respond to their donation solicitations when I get them.

我想说,最糟糕的安全漏洞是不了解/理解您的环境和第三方工具,如果您将它们包含在您的程序中。

一个真实的例子:

在我上的两所不同的学校,他们使用的是基于Windows的第三方软件管理的网络。一个这样的工具监控磁盘空间,如果你超过,它会提醒你,要求你删除文件或将它们复制到软盘。

但是…他们有一个帮助,使用标准的Windows帮助查看器!!

要绕过注销检查,您只需要按下电源按钮-关闭而不是注销只是关闭应用程序!

至于登录,你所需要做的就是打开帮助,点击文件>打开,在文件名称中,然后,有许多不同的事情……

你可以输入C:\Windows,一旦加载,输入*。*,然后你可以右键单击Explorer.exe,然后选择打开,然后将盒子拖出/底部角落…当你关闭电脑时,没有问题!

您可以打开任务管理器并关闭应用程序。

你可以打开一个excel文档(或任何Office程序),启动一个宏,然后做你想做的事情!

所以…我想说,这家公司很愚蠢,因为他们在其他程序中也有各种各样的问题,但是,这是最大的问题,他们能够绕过它,只是因为他们使用了Windows帮助,而没有意识到它的含义。