你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
当前回答
一位同学曾经不小心把密码发到了推特上……那是个很严重的安全漏洞。
其他回答
几年前我移植的一款遗留应用使用了第三方回调系统来处理支付。问题是,回调脚本没有检查支付的金额是否等于订单的价格,因此可以使用Firebug编辑支付页面上“金额”字段的内容,以0.01英镑的价格购买网站上的任何产品。
在一些Unix机器(当然是所有的SunOS)上,您可以将setuid shell脚本链接到一个名为“-i”的文件。 shell脚本将文件名解释为它的第一个参数,并运行"sh -i" =一个交互式shell,并获得setuid文件所有者的许可。
因为大多数setuid shell脚本都是以根用户身份运行的,以便允许您执行一些需要根用户权限的操作,比如弹出CD或加载磁带。这意味着在20世纪90年代,在大多数大学的Unix机器上获得管理是很简单的。
我最后工作的公司的FTP用户名和密码与他们的域名相同。他们不太在意反复警告。
不用说,网站没过多久就倒闭了。没有在线备份,所以他们不得不重建整个系统。但这并没有结束。这次事件后的新安全密码是一样的…加上123。
我希望你能发现这里的问题。(事实上,大错特错):
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);
}
最后一个接受者是最幸福的;)
将用户名列表以明文形式发送给浏览器以供JavaScript自动补全,还可以通过使用唯一的用户id调整URL查询字符串来查看用户数据,这可以从自动补全功能中收集到。