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

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


当前回答

在登录时,有一个隐藏的字段,让“网站管理员”选择成功和失败时要包含的文件。

是的,/etc/password工作了。

或者在“log”目录中,有order-xxx。order-xxx.txt包含卡号,包括检查号和验证日期。

其他回答

信不信由你,我最近在一个网站上发现了这个:

eval($_GET['code']);

服务器甚至没有安全模式…

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.

测试一些银行柜员软件后,我打电话给技术部安排了一次拨号IP会话。“您想连接到哪个系统,生产系统还是测试系统?”

真实的故事。

这里有一个我不常看到的例子。这是一个非常有效的安全漏洞,困扰着大多数登录表单。我大约在十年前发现了它。

我在多伦多大学学习,那里有一个叫做ROSI的系统,允许学生管理他们的费用和课程注册。他们还在总会议区设置了两个公共终端,只能显示ROSI网站,学生可以输入他们的学生证和密码登录和管理他们的物品。

但是,在用户注销后,您可以在终端上按浏览器的alt-left键返回登录表单,然后按alt-right键前进一键,然后单击刷新。在这一点上,浏览器会要求你确认重新发布表单数据,如果你点击是,它会重新发布以前的用户登录/通过和登录你。

大多数登录表单仍然容易受到这类攻击。解决方案是post/redirect/get或使用nonce键。

我给我的大学管理员发了很多次邮件,但我认为他们至少在我毕业离开之前都没有解决这个问题。这大约是在2002年。

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

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