- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Truly amusing (or is that scary?): The fact that my municipality government uses a variation of the same technique to black out names and private parts from public documents.
Admin
But the wieners that went to school for years to learn how to code badly want something to hide behind, as in "how dare you criticize my code, you'r not even licensed!"
Admin
Ugh, the folks calling this a backdoor and saying code can get evaluated: FALSE.
The base64_decode() call returns a string. THAT STRING is what's getting evaluated, NOT the string returned by file_get_contents():
which behaves the same as the raw code:
The result of the eval() can only exit() or not. Putting some code instead of the zero or one would just ... end up putting the code string (NOT evaluated results) into $enabled. Since a non-empty string would be the same as boolean true or the "1" condition, putting code on that remote website would accomplish exactly nothing.
Sorry guys, this is not a backdoor, it's just a simple obfuscated killswitch.
Admin
Heh and after I wrote my reply I realized how trivial it would be to actually make this into a backdoor.
In order to work as some folks in this thread suggest, a second eval() call needs to be made inside the base64 encoded code.
The outer eval(base64_decode()) combo is just a way to put obfuscated code into the source, that's it.
But if you replaced the trim() call that's inside the evaluated code with another eval(), it would then act as a backdoor that could work as described by certain people in this thread. The value loaded from the remote website would be evaluated. As I said though, the code as given does not do that.
Also BTW OT but: DRUPAL IS NOT FULL OF SECURITY HOLES. It's actually a vibrantly developed piece of software with a ton of active devs. The update system in recent versions makes it trivial to update module versions to patch holes as they appear, just a few clicks. Now, custom module developers OTOH could certainly write software full of holes that cannot be easily patched. But that is true of ALL environments. For example, Drupal has a loverly built-in parameter based query system. But that does not stop a naieve developer from concat-ing strings from CGI variables into the query directly.
Admin
Given the standards of university programming education, such a programming license would almost spell "bad programmer".
Admin
prescription tadalafil online https://pharmaceptica.com/
Admin
https://cialiswithdapoxetine.com/ cialis price