你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
当前回答
Select * from user where user_id = '*userId*' and access_level = 0 or access_level = 1;
如果查询返回任何行,则它们被允许进入系统。围绕着“access_level = 0或access_level = 1”的括号将实现他们的意图。相反,只要有access_level为1的用户,任何人都可以进入。
其他回答
我不知道这是不是最糟糕的,因为我见过一些非常糟糕的,但是:
几年前,我工作的地方引进了一个叫做FOCUS的系统。不知道它还在不在。它非常适合做报告,我们开发并教了大约一千两个非It人员如何生成他们自己的报告。非常方便。他们可以做基本的报告,一些人可以做中等难度的工作,IT可以帮助处理较难的工作。
所有用于报告的数据都被定期复制到FOCUS自己格式的影子数据库中。对于更敏感的数据,我们设置安全选项,加密数据。一切都很好。
So, one day my boss calls me in, and we've lost the password to one of the sensitive databases. It's going to be hard to reproduce the data in this case, so he asks me to see if I can break the security. I had no experience as a hacker, so it took me about 5 or 6 hours to hand him the password. I started by creating some test files, and encrypting them with different passwords. I found that changing one character in the password would change two bytes in the encrypted file, specifically, the high nybble of one byte, and the low nybble of another byte. Hmmmm, says I. Sure enough, they stored the password somewhere in the first 80 bytes of the encrypted, but obfuscated the password by splitting the bytes into nybbles, and storing them in predictable places.
不久之后,我们就编写了一个REXX脚本,该脚本在VM/CMS系统下运行,可以告诉我们任何加密数据库的密码。
那是很久以前的事了——在90年代初,我相信他们已经解决了这个问题。嗯,非常确定。
我曾经忘记删除“管理员登录页面”。该页面只是绕过LDAP登录并获得所有权限。它可以对客户的银行账户做任何事情。我非常非常担心。幸运的是,没有人知道URL。
login.jsp?type=user&redirct=/home.jsp&userid=12345&username=username&password=mypassword
这发生在一个非常大的网站上。当我看到这个的时候,我惊呆了。
一些验证码是这样的:
public bool charsEquals(char[] input, char[] txt)
{
for (int i = 0; i < Math.min(input.length; txt.length); ++i)
{
if (input[i] != txt[i]) return false;
}
return true;
}
像这样使用它:
if (charsEquals(inputPassword, requestedPassword))
看了YouTube上关于Tux和比尔·盖茨之战的搞笑视频后,我开始思考这个问题。当Tux没有密码进入微软大楼时。
Windows 95可以选择需要密码才能解锁屏幕保护程序。然而,使用ctrl+alt+del你可以杀死屏幕保护程序。