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

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


当前回答

在我尝试的一个免费网络主机上,用“忘记密码”的方法将密码发送给你时出现了一个逻辑错误——如果你没有输入电子邮件地址(辅助电子邮件是可选的),它会将主地址的密码通过电子邮件发送给每个没有提供辅助电子邮件的用户。

一天,我和其他数百人收到一封电子邮件,里面有数百个用户名和密码,密码都是明文。

其他回答

我听说,当你以电子方式提交申报表时,Turbo Tax曾经以纯文本文件发送你的SSN。这似乎不是个好主意。

我还知道一家公司将信用卡信息存储在桌面上的纯文本CSV文件中。然后通过FTP发送到支付网关....

I was going to earn my credit with the supervisor for my quite advanced graphics program at a SunOS / Solaris with instant messaging enabled where with zephyr.vars or whatever it was called you could make an image appear on your listed friend's screen like if you alowed me I could just send you an image that appeared on your display. While I was demoing the program I had written so that the supervisor could give me credit for it, one of my friends sitting close or in the next room made the photo big-mama.xxx appear on my screen. There was never any discussion or penalty because of the incident and I got credit for the project that for ½ second seemed like it was programmed to display big-mama.xxx instead of solving the problem. (Earlier) I updated perl scripts and waited for sysadmin to reflect the changes to ouside the FW. Then the database was gone and it was not a bug it was a feature since the data was stored with the source and therefore updating the source blanked the persistence.

物理访问或模拟登录提示或登录屏幕是另外两种困难的情况,不需要过多的算法技术,很容易理解物理访问提供了许多可能性,模拟登录提示是您可以在许多不同类型的计算机和环境上进行的事情。

我的银行曾经在我的借记卡上发现了一笔“可疑交易”。他们建议我取消它,买一个新的。

在等待新卡的时候,我需要取钱。于是我走进银行,把我的旧卡给了那位女士,并解释说:“这张卡最近被取消了,但我需要一些钱。你能从这个账户里取点钱吗?”

当我走出银行时,口袋里揣着现金,我意识到我刚刚用一张注销的卡从一个账户里取了钱,而没有被要求出示任何形式的身份证明。

我的朋友曾经用PHP编写了一个论坛脚本。密码保存为一个名为pass.txt的纯文本文件。当然,每个人都可以访问那个文件。

对我来说,最糟糕的,最可怕的,最危险的,犯罪的疏忽,但在彻底破坏整个系统的安全方面,奇怪的优雅总是来自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);
}

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