Autor | Zpráva | ||
---|---|---|---|
stepanka Profil * |
#1 · Zasláno: 19. 10. 2009, 13:41:38
Ahoj,
zkoušeli jste někdy někdo vytvořit SQL dotaz přes JS nebo AJAX? Přes Javascript je to asi nemožné, ale v kombinaci s PHP by to možná jít mohlo.. Přemýšlím, jestli by se to pak dalo využít k potenciálnímu útoku. Něco jako SQL injection přes XSS.. Co myslíte, mohlo by to fungovat? Děkuju. |
||
Chamurappi Profil |
#2 · Zasláno: 19. 10. 2009, 13:47:22
Reaguji na stepanku:
„Co myslíte, mohlo by to fungovat?“ Myslím si, že nevím, na co se vlastně ptáš. Sestavit SQL dotaz (jako řetězec) jde v jakémkoliv jazyce, přesvědčit databázi, aby ho zpracovala, dokáže jen oprávněný skript (přes všelijaké oprávněné prostředníky). A tento oprávněný skript by pochopitelně neměl nikdy běžet na straně (neznámého) návštěvníka. „Něco jako SQL injection přes XSS.“ Není třeba XSS. To, o čem píšeš, je čistokrevný SQL injection. |
||
stepanka Profil * |
#3 · Zasláno: 19. 10. 2009, 14:18:11
Chamurappi
Děkuji za reakci. Pokusím se situaci více přiblížit.. Chci zjistit, jestli je možné nabourat jeden e-shop přes SQL injection. Všechny vstupy do databáze jsou ošetřené, aby uživatel nemohl vložit například typický řetězec ' OR 1=1. Našla jsem ale zranitelnost na XSS. A to jak v URL, tak ve formulářovém poli. Můžu si takhle ukrást SESSION ID, nebo nechat vyskakovat hlášky, ale nepodařilo se mi tímto způsobem zaútočit na databázi. A zajímalo by mě, jestli to jde.. Zkouším tedy místo (například): <script>alert('baf!');</script> Vložit něco na tento způsob: <script><?php mysql_query="select * from tabulka"; ?></script> Pokud by se teoreticky tento kód do stránky umístil, bylo by připojení k databázi aktivní, takže znát přístupy do databáze by nutné nebylo. Vím, že tento konkrétní příklad je asi nesmysl, ale nemohlo by něco podobného fungovat? Děkuju moc. |
||
Enyeus Profil |
Moderátor Chamurappi: Varování: Tento příspěvek je příliš geniální.
Skus AJAX |
||
Kajman_ Profil * |
#5 · Zasláno: 19. 10. 2009, 15:22:45
Přes xss dostane kód do konečné stránky, ne do zdrojáků, kde je možné pouštět např. php příkazy.
|
||
Chamurappi Profil |
#6 · Zasláno: 19. 10. 2009, 15:25:29
Reaguji na stepanku:
„A zajímalo by mě, jestli to jde.“ Ne. XSS je díra, která ti umožňuje dělat na cizí doméně věci jménem nějakého jiného uživatele. Pokud je v e-shopu přihlášený a navštíví tvoji útočnou stránku, můžeš přes něj objednávat zboží, můžeš mu čmajznout nějaká osobní data, ale to je asi tak všechno. |
||
Joker Profil |
#7 · Zasláno: 19. 10. 2009, 15:27:41
stepanka:
Takhle přímo to nejde. Šlo by to v případě, že by se na serveru nějaký vstup od klienta spouštěl jako PHP... a pak by tím vstupem prošly i nebezpečné příkazy... ovšem tohle by byla bezpečnostní díra jako vrata. |
||
stepanka Profil * |
#8 · Zasláno: 19. 10. 2009, 15:39:21
Kajman_, Chamurappi, Joker
Děkuju všem za reakce. Někde na webu o AJAXu jsem předtím našla: "AJAX je k tomu, abyste mohli pomocí JavaScriptu načíst třeba stránku PHP (v pozadí stránky, na které se nacházíte) a poslat jí nějaká data. Jiná data od ní můžete i přijmout a hned je použít." Tak proto jsem se ptala na tuto možnost. Protože chci pomocí Javascriptu načíst pár řádků PHP skriptu a ty data poslat, čili uložit do databáze (smazat tabulku, vyprázdnit databázi, zastřelit administrátora, ...). Říkáte tedy, že ani přes AJAX by toto nešlo? Nikdy jsem v něm nic nepsala, vidím ho víceméně poprvé.. |
||
Joker Profil |
#9 · Zasláno: 19. 10. 2009, 15:50:55
stepanka:
AJAX jde vždycky přes skript na serveru. Tzn. muselo by to fungovat takhle: 1. Na serveru je skript, který na základě požadavků z klienta provádí databázové operace. Útočník z klienta pošle požadavek na nebezpečnou operaci a skript na serveru ji provede. 2. Na serveru je skript, který od klienta převezme PHP kód a vykoná ho. Klient pošle nebezpečný kód a skript ho vykoná. Dát si na server tu jedničku je hrubý hazard (= skript který nad databází provede cokoliv si klient řekne), dvojku (= skript, který provede PHP získané z klienta) šílenství. |
||
stepanka Profil * |
#10 · Zasláno: 19. 10. 2009, 15:57:37
Joker
Jasně no.. Už tomu rozumím.. Ona je to vlastně i blbost - kdyby tohle mohlo fungovat, byly by všechny aplikace strašně lehce zneužitelné. Tak děkuju. |
||
Časová prodleva: 15 let
|
0