Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ircmaxell
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
ircmaxell
4y ago
True, but in this case if you can write an invalid hash into a database, you can likewise write a valid one, and as such this doesn't really enable anything. The one thing this does get you is that the original password would still wor
2.
▲
by
ircmaxell
11y ago
Heck, a very popular Java book (Android programming specifically) has examples of database queries using concatenation (and hence SQLi).
3.
▲
by
ircmaxell
11y ago
Except that in PHP type declaration mismatches are actually errors... They aren't just "documentation" to be used by static analyzers.
4.
▲
by
ircmaxell
11y ago
> PHP. This is a known weakness in PHP's bcrypt implementation. From Wikipedia, "Many implementations of bcrypt truncate the password to the first 72 bytes." I would hope that they're using a competent implementation
5.
▲
by
ircmaxell
11y ago
The only implementations of bcrypt (and crypt(3)) that I've seen that's NOT vulnerable to this are Golang and Python. It has nothing to do with PHP...
6.
▲
by
ircmaxell
11y ago
> I would recommend that the author read up on NFAs and DFAs -- they are a formalism better suited to lexers than tries. Author here. The actual regex implementation uses a NFA. The start of it used a Trie, but it moved away. The majorit
7.
▲
by
ircmaxell
11y ago
Well, let's look at it realistically: http://arstechnica.com/security/2015/01/yes-123456-is-the-mo... The #1 password out of 3.3 million was 123456, which was used 20,000 times. So extrapolating that for
8.
▲
by
ircmaxell
11y ago
Well, let's imagine an attack scenario. As an attacker, I get SQL access to your DB (meaning no access to the encryption key). I then download the user names, and the hashes. I then attack the hashes offline. I recover only the weakest
9.
▲
by
ircmaxell
11y ago
> A properly implemented, simple pepper can only help password security and can't hurt it. Well, yes. But what is the definition of "properly"? There are definitely constructions of "pepper" that look simple, but
10.
▲
by
ircmaxell
12y ago
We looked into using it. After much thought, we decided not to, here's why: https://wiki.php.net/rfc/scalar_type_hints_v5#why_not_use_us... I break down all of the proposed alternatives and the cases against them.
11.
▲
by
ircmaxell
12y ago
> Having the caller do it seems quite pointless when the recipient is anyway doing it. Actually, I disagree. The caller is the only one who has semantic information about what the variable (and hence its value) means. All the callee (rec
12.
▲
by
ircmaxell
12y ago
> You don't hire 10x just people who make other people 10x? Then that person you just hired is 10x. The point was more that I value a person's ability to lift those around them much higher than their abilities to outperform the
13.
▲
by
ircmaxell
12y ago
I don't hire nor value 10x engineers. So no problem there. I hire and value engineers that elevate those around them to 10x. And this behavior lowers people, not elevates. So no, that person is not a valuable asset. He's the very
14.
▲
by
ircmaxell
12y ago
> If PHP is the slowest part of your application, you're probably in good shape. Or doing something epicly wrong. One of the two...
15.
▲
by
ircmaxell
12y ago
Actually, the PECL compiler he mentions generates C, and then compiles it using GCC with -O3. So in a way, yes it is measuring the speed of a C program. Not a hand-optimized one, but it's compiled the same.
16.
▲
by
ircmaxell
12y ago
Why did we tolerate it? Because we weren't given the tools to do anything about it. We couldn't kick or ban people. We couldn't moderate our own room. All we (as owners) could do was move messages or flag. We got yelled at ev
17.
▲
by
ircmaxell
12y ago
That's definitely valid. However, in the vast majority of cases where someone complains about CV-PLS in my experience, it's because they had their question closed. For example: http://meta.stackexchange.com/q/
18.
▲
by
ircmaxell
12y ago
That's absolutely a valid experience. There are plenty of others who've had positive experiences as well. And those "caustic individuals" have a LOT to share if you're willing to engage in an open and healthy way.
19.
▲
by
ircmaxell
12y ago
How do you solve the torrent of duplicates and low quality questions then? The review queue is backed up all the time (currently 11900 questions with 1+ close-vote). Ignoring the problem does not make it go away. If you think one of the way
20.
▲
by
ircmaxell
12y ago
This has been discussed time and time again: - http://meta.stackoverflow.com/q/256501/338665 - http://meta.stackoverflow.com/q/271899/338665 - http://meta.stackoverflow.com&
21.
▲
by
ircmaxell
12y ago
> Something seems horribly wrong here, no? Yes. The distributions are effectively forking these versions, and keeping the same version numbers. Leading to some REALLY awkward problems: https://github.com/ircmaxell/pa
22.
▲
by
ircmaxell
12y ago
I counted any point release since the latest security release as secure. So for PHP's 5.6 line, only 5.6.4 is secure, since 5.6.4 is a security release. I'm currently crunching numbers for other platforms. For example, Nginx'
23.
▲
by
ircmaxell
12y ago
Well, it won't idle if there is another process ready to execute (load is greater than 1). If there is no process wanting to execute, it will idle. Again, I'm not saying this is practical. I'm saying it might be possible (eve
24.
▲
by
ircmaxell
12y ago
So, I tried this in the past. The problem you'll run into with PHP specifically is that reading an undefined string offset (past the end) will result in a notice: http://3v4l.org/nIkf5 Which means that errors are trigg
25.
▲
by
ircmaxell
12y ago
The far better approach is to just make the operations not depend on the secret. You only really need to worry about timing attacks for values that the attacker doesn't know, and you don't want them to know. So it's only thin
26.
▲
by
ircmaxell
12y ago
> How can you actually make sensitive operations take constant time? This sounds impossibly hard. For example, your operating system could be context switching thousands of times per second. Sorry, it appears that I didn't actually
27.
▲
by
ircmaxell
12y ago
Well, access to the CPU happens with every user (since you can see the current mode of every core as an unprivileged user - idle, wait or running). Accessing RAM requires system level access (privileged users, super user really) or running
28.
▲
by
ircmaxell
12y ago
OP here. Seeing as this question is getting asked a lot , I'll edit something into the post, but I wanted to answer you here as well. So, there are a few problems with this technique. 1. It ignores the local timing leak An attacker wh
29.
▲
by
ircmaxell
12y ago
Please look at the test script again. It does indeed warm up the JIT. The timing results come from within HHVM. Basically, the test is dispatched within HHVM, isolating just the function call itself. It's then executed 5 times (timed
30.
▲
by
ircmaxell
12y ago
To be 100% fair, this is a non-official 20% project. So "Google backed" is a bit of a misnomer.
More ›