This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Zudo's profile picture

[HTTP] Bank of Minecraft - Inter-server banking! (plz lock, discontinued)

Started by Zudo, 29 January 2013 - 05:52 AM
Zudo #1
Posted 29 January 2013 - 06:52 AM
BoMC - Bank of Minecraft




THIS PROJECT HAS BEEN DISCONTINUED. BYE BYE.
Skullblade #2
Posted 29 January 2013 - 07:00 AM
rather then

pastebin a1ks2Eew
do

pastebin a1ks2Eew Bank
Because then you can copy paste :P/> …. laziness has reached critical mass for me


EDIT:connection to pastebin failed….what do i do…
EDIT EDIT: You typed wrong pastebin id…this 1 doesn't exist
zekesonxx #3
Posted 29 January 2013 - 07:36 AM
There is a problem here. The program isn't good.
GravityScore #4
Posted 29 January 2013 - 03:50 PM
Uhhhh sorry ZudoHackz but your security here is, well… crap.

I can see the balance of everyones accounts. I can see the email address of everyones accounts. I can see the password to everyones accounts (albeit in an encrypted format - base64 is it? That's easily decryptable). I can transfer money to and from anyones account, and create money instantly (I just gave my test account the largest integer amount possible in PHP). I can give money to myself. There is no insufficient funds warning. You just leave the files sitting there on your web server, which is an Apache server with indexing enabled, so I'm easily able to browse through them. There is no use of MySQL to store anything. base64 is not a great encryption technology (it's ok). You're using PHP for this - why not use sha512! 128 characters of pure randomness.

The program won't work if you use anything other than alphanumeric characters in any of your credentials, because you don't textutils.urlEncode any of the things you send to the PHP scripts. So the account registration won't work, because you don't encode the @ symbol, or any other symbol apart from the ones that don't need encoding. You also don't ensure that the email address must have an @ in it, or any sort of formatting.

There is no spammer protection. And you allow HTTP get. So I can just keep reloading the register page on my browser and spam the account creation script.

I don't see any more features to explore in this. I can PM you a solution to all of this if you want, but I'm definitely no expert. You're probably better off asking someone who knows a lot more than me.

I like the idea of HTTP, cross server banking, but unless you understand this stuff fully, don't release it. Always assume the worst when it comes to users. Never trust any sent data. Never trust a user's intent.

P.S. There is a good thread here on password encryption and salting. Please do some googling on security.
NeverCast #5
Posted 29 January 2013 - 04:29 PM
Base64 is NOT!!! encryption.. eugh
It's used so that binary data can be transported across a text transport.
It's an ENCODING! People need to stop thinking it's encryption!

I'm amazed that it's all just HTTP, and no Sql.

Fantastic idea kid, terrible implementation.

Edit: Just had a look at the server.
Worse than I thought.
GravityScore #6
Posted 29 January 2013 - 04:32 PM
Base64 is NOT!!! encryption.. eugh
It's used so that binary data can be transported across a text transport.
It's an ENCODING! People need to stop thinking it's encryption!
Sorry :P/> I have no idea. Still no excuse for not using something more secure.

I'm amazed that it's all just HTTP, and no Sql.
As am I! SQL is not that hard to learn/implement. It took me about half an hour…
NeverCast #7
Posted 29 January 2013 - 04:34 PM
No excuse at all. Base64 is equal to plain-text. It's just a different encoding to make binary data fit in to printable chars. There is NO security from it.
Also the fact that he doesn't know how to manage his apache server to at least disable indexing, means all bad things!
NeverCast #8
Posted 29 January 2013 - 04:40 PM
Look! I'm rich!

http://bomc.hostoi.com/nevercast/balance

Thank you transaction of negative amounts!
GravityScore #9
Posted 29 January 2013 - 04:42 PM
No excuse at all. Base64 is equal to plain-text. It's just a different encoding to make binary data fit in to printable chars. There is NO security from it.
Also the fact that he doesn't know how to manage his apache server to at least disable indexing, means all bad things!

From looking at the domain name, I think hostoi is a sub domain of 000webhost. I'm not sure you have access to the httpd.conf in 000webhost…

Look! I'm rich!

http://bomc.hostoi.c...vercast/balance

Thank you transaction of negative amounts!

xD I did the same!
http://bomc.hostoi.com/Test/balance

EDIT: hehehehe. I just removed all your money. hehehehehehehehehe xD

EDIT 2: Sorry, but I think the password saving/encoding is broken. All passwords I see are just MA==, which is 0 when decoded…. And I believe if you pass 0 to PHP under HTTP get or post, I think it treats it as nil… Either his register script is broken, or people are using their web browsers to create accounts and just not supplying passwords, and the script is dumb enough to still create the accounts.
NeverCast #10
Posted 29 January 2013 - 04:54 PM
not sure what your password is :P/>
Not that I need it.

Oops I accidentally your entire balance!
I made it negative :P/>

Edit: Does your balance feel leet? :P/>
NeverCast #11
Posted 29 January 2013 - 05:01 PM
Gravity, I created mine with the password NO
And it saved it as 0
GravityScore #12
Posted 29 January 2013 - 05:05 PM
I created my account in Chrome and used the password 12345. It saved it properly, I think… When I use a decrypter on the base64, 6485140087.8 is what I get… Not sure if he used his own version of base64, or PHP's built in one is stuffed up (unlikely).

EDIT: I just created Test2, and it saved the password fine… But I used only text on Test3 account, and I used the password hai. It saved it as MA==, which is 0. I created Test4 with a combination of letters and numbers, and it also saved as 0. I think it doesn't like text.
NeverCast #13
Posted 29 January 2013 - 05:08 PM
I think he adds the shit together and then Base64's it
So it might not be as bad as we think.

Not that it matters, using negative amounts you can do a reverse transaction and passwords are irrelevant
Zudo #14
Posted 30 January 2013 - 05:55 AM
Can you help then please? :(/>
Zudo #15
Posted 30 January 2013 - 06:00 AM
I have no idea how to use SQL in PHP so, erm, im a fail.
And i deleted the 'Fuck' Account.
zekesonxx #16
Posted 30 January 2013 - 06:04 AM
I have no idea how to use SQL in PHP so, erm, im a fail.
And i deleted the 'Fuck' Account.

I proudly take responsibility for making that.
NeverCast #17
Posted 30 January 2013 - 08:48 AM
Yessir! We can help you :)/>
Zudo #18
Posted 01 February 2013 - 09:08 PM
This is a beta release and its gone back into development for mysql usage. Hopefully it should be better then :)/>
Zudo #19
Posted 01 February 2013 - 09:15 PM
Uhhhh sorry ZudoHackz but your security here is, well… crap.

I can see the balance of everyones accounts. I can see the email address of everyones accounts. I can see the password to everyones accounts (albeit in an encrypted format - base64 is it? That's easily decryptable). I can transfer money to and from anyones account, and create money instantly (I just gave my test account the largest integer amount possible in PHP). I can give money to myself. There is no insufficient funds warning. You just leave the files sitting there on your web server, which is an Apache server with indexing enabled, so I'm easily able to browse through them. There is no use of MySQL to store anything. base64 is not a great encryption technology (it's ok). You're using PHP for this - why not use sha512! 128 characters of pure randomness.

The program won't work if you use anything other than alphanumeric characters in any of your credentials, because you don't textutils.urlEncode any of the things you send to the PHP scripts. So the account registration won't work, because you don't encode the @ symbol, or any other symbol apart from the ones that don't need encoding. You also don't ensure that the email address must have an @ in it, or any sort of formatting.

There is no spammer protection. And you allow HTTP get. So I can just keep reloading the register page on my browser and spam the account creation script.

I don't see any more features to explore in this. I can PM you a solution to all of this if you want, but I'm definitely no expert. You're probably better off asking someone who knows a lot more than me.

I like the idea of HTTP, cross server banking, but unless you understand this stuff fully, don't release it. Always assume the worst when it comes to users. Never trust any sent data. Never trust a user's intent.

P.S. There is a good thread here on password encryption and salting. Please do some googling on security.

Thanks, but the idea is you register on the program rather than the site (which is why I set up a redirect)
It is also using MySQL for user, password, email, balance storage.
The main program in the first post is very glitchy due to major changes in the PHP script.
I use 000webhost so I dont have access to the httpd.conf file (My computer is really crap, Apache - nope!)
And thanks for the urlEncode tip, I never thought about that :)/>
Ill also try and sort out @ checking (PHP or lua?)
Zudo #20
Posted 01 February 2013 - 09:22 PM
No excuse at all. Base64 is equal to plain-text. It's just a different encoding to make binary data fit in to printable chars. There is NO security from it.
Also the fact that he doesn't know how to manage his apache server to at least disable indexing, means all bad things!

I do have my OWN Apache server (local) and I know exactly how to disable indexing, but i don't want or need to.
EDIT: I mean my local one, not the BoMC one.
zekesonxx #21
Posted 02 February 2013 - 05:16 AM
EDIT: I mean my local one, not the BoMC one.

Which you took down…
Zudo #22
Posted 02 February 2013 - 05:42 AM
EDIT: I mean my local one, not the BoMC one.

Which you took down…

???