Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebuii sa vindem imobiliarele...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 Noul format Jpegli iși propu...

Dade, dade

Probleme accesare nr test telefon

Parola la lock screen
 

Problema securitate?

* - - - - 1 votes
  • Please log in to reply
15 replies to this topic

#1
MinettoMatoi

MinettoMatoi

    Senior Member

  • Grup: Senior Members
  • Posts: 7,025
  • Înscris: 04.09.2018
Sunt si eu curios cum functioneaza injectia sql, e un site unde cineva fura conturi prin asta, cum naiba face ? Da comanda SQL in casuta de logare ? Sau ? Si mai exact ce linie pune ? Si cum se poate rezolva ? Adica daca eu acuma pun linie sql in casuta de logare ca sa schimb o parola, gata, intru asa oriunce ?!  Mi se pare ca a pus restrictii la anumite semne sa nu mearga, punct si virgula sau mai stiu eu ce.

Am gresit, scuze la moderatori pentru titlul topicului, am apasat si uitasem ca nu am mai continuat, rog sa se puna "Despre furat usere".

Edited by MinettoMatoi, 12 July 2020 - 12:58.


#2
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003

View PostMinettoMatoi, on 12 iulie 2020 - 12:57, said:

Da comanda SQL in casuta de logare ?
Da. Sau in alta locatei din formular.

View PostMinettoMatoi, on 12 iulie 2020 - 12:57, said:

Si cum se poate rezolva ?
Prin parametri.

View PostMinettoMatoi, on 12 iulie 2020 - 12:57, said:

Adica daca eu acuma pun linie sql in casuta de logare ca sa schimb o parola, gata, intru asa oriunce ?!
Doar daca aplicatia e facuta de nestiutori.

#3
ccdsah

ccdsah

    Senior Member

  • Grup: Senior Members
  • Posts: 2,581
  • Înscris: 16.03.2013

View PostMinettoMatoi, on 12 iulie 2020 - 12:57, said:

Sunt si eu curios cum functioneaza injectia sql, e un site unde cineva fura conturi prin asta, cum naiba face ? Da comanda SQL in casuta de logare ? Sau ? Si mai exact ce linie pune ? Si cum se poate rezolva ? Adica daca eu acuma pun linie sql in casuta de logare ca sa schimb o parola, gata, intru asa oriunce ?!  Mi se pare ca a pus restrictii la anumite semne sa nu mearga, punct si virgula sau mai stiu eu ce.

Am gresit, scuze la moderatori pentru titlul topicului, am apasat si uitasem ca nu am mai continuat, rog sa se puna "Despre furat usere".
[ https://www.youtube-nocookie.com/embed/ciNHn38EyRc?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

#4
MinettoMatoi

MinettoMatoi

    Senior Member

  • Grup: Senior Members
  • Posts: 7,025
  • Înscris: 04.09.2018
Mai exact ma interesa unde da query-urile, daca in casuta de logare sau in alta parte.

Edited by MarianG, 14 July 2020 - 11:10.
fara incriminari


#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
In casuta vulnerabila.

Apoi, prin sql injection n-ar trebui sa poti fura parola userilor incat sa te poti autentifica cu ei. Daca e asa, site-ul ala are si mai multe probleme de securitate.

Sau poate a fost un cu totul alt mod de atac...

Edited by dani.user, 14 July 2020 - 09:53.


#6
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,444
  • Înscris: 10.08.2005

View PostMinettoMatoi, on 12 iulie 2020 - 14:45, said:

Mai exact ma interesa unde da query-urile, daca in casuta de logare sau in alta parte.

Quote

2 d. postarea de discutii sau deschiderea de topicuri despre subiecte care contravin legilor Romaniei (incluzand dar fara a se limita la informatii false, vulgare, defaimatoare, rasiste, cu orientare sexuala sau orice alte date considerate ilegale pe teritoriul Romaniei) sau care instiga la incalcarea acestor legi

Daca nu esti proprietar sau angajat sa cauti aceste lucruri nu vad un motiv legal sa te intereseze.
Daca ai o bucata de cod pe care vrei s-o imbunatatesti, putem vorbi cu cea mai mare placere.

In rest, nu incurajez sub nici o forma orice forma de hacking.

#7
MinettoMatoi

MinettoMatoi

    Senior Member

  • Grup: Senior Members
  • Posts: 7,025
  • Înscris: 04.09.2018
E prietenul meu bun si m-a rugat sa intreb (se poate proba, pot pe oricine sa il pun in legatura cu el si cu dovezi ca e in staff acolo, plus adminul de acolo, nu sa se zica ca eu vreau sa fac tampenii). Si daca m-a rugat, de aia ma intereseaza. Normal ca nu e de incurajat nici o forma de asa ceva.
Pentru ca cine vrea sa faca tampenii nu intreaba aici, caci contravine regulilor si oricum n-ar primi nici un raspuns.
Insa cand cineva o pateste, ar trebui sa se poata consulta cu altii pentru solutii, bine cumva sa se si poata proba ca e atacat.
Adica de fapt intrebarea mai corecta nu e cum face hackerul ci cum sa rezolvam problema indiferent cum ar face. Ca cine stie, isi da seama cum face si nu e nevoie sa spuna, si poate da o parere de rezolvare, mai bine asa intrebam.

Adminul zice ca prin site baga comenzile, deci prin casutele de logare poate.
Le-am spus sa excluda semenele ce pot face parte dintr-o comanda SQL, deci sa nu le mai poti folosi la logare, sa vedem cum va fi.

Ziceam ca are pasul si userul de la logarea site-ului la DB, dar adminu zice ca daca baga direct de pe site, n-ar avea nevoie de alea.

#8
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010
chiar ma uitam si eu peste codul scris de acum cateva luni si am vazut ca fac abuz de prepared statement acolo unde cred ca nu e cazul. Adica, daca folosesc un parametru hardcodat din backend, nu cred ca e nevoie de prepared statement pentru ca acolo n-are clientul acces ca sa faca sql injection.

public enum Statuses {
Active = 1,
Deleted = 2
}

var statusId = (int)Statuses.Active;
var sql = $"SELECT * FROM table WHERE statusId = {statusId}"

aici merge folosit statement simplu.

gresesc?

*la subiect: folosirea unui ORM pe backend te scapa de sql injection din cate stiu, asta daca nu executi plain sql cu ajutorul lui.

Edited by AlleXyS1, 14 July 2020 - 20:31.


#9
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Foloseste vreun soft public/open-source pentru site? Daca-s de treaba au un istoric cu ce probleme au identificat dealungul anilor (si pe care le-au rezolvat). Daca n-au, macar e usor de cautat probleme prin sursa.

Alternativ exista diverse softuri care testeaza siteuri pentru vulnerabilitati evidente. Dar... daca nu au reusit ei sa le identifice, putin probabil sa le sti repara singuri.

Alternativ apeleaza la cineva priceput.

Edited by dani.user, 14 July 2020 - 20:44.


#10
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,444
  • Înscris: 10.08.2005

View PostMinettoMatoi, on 14 iulie 2020 - 19:56, said:

Adica de fapt intrebarea mai corecta nu e cum face hackerul ci cum sa rezolvam problema indiferent cum ar face. Ca cine stie, isi da seama cum face si nu e nevoie sa spuna, si poate da o parere de rezolvare, mai bine asa intrebam.
Intrebarea este corecta, "pe unde intra mizeria", pentru cei din afara sistemului, ei se uita la cutie, si arunca cu "pietre in ea", doar ca asta lasa urme, cei din interior aud.
Dar totul depinde ce cum gestioneaza administratorul sistemul respectiv.

Quote

Insa cand cineva o pateste, ar trebui sa se poata consulta cu altii pentru solutii, bine cumva sa se si poata proba ca e atacat.
Cand o pateste pe proiectul sau personal da.
Se prezinta bucati de cod, se discuta ce si cum trebuie sa lucreze sistemul, etc.

Cand este proiectul angajatorului, nu prea; ca e secret de servici. Iar pentru asta exista fie oameni angajati, fie contractati externi ("red team").

Edited by MarianG, 14 July 2020 - 20:48.


#11
MinettoMatoi

MinettoMatoi

    Senior Member

  • Grup: Senior Members
  • Posts: 7,025
  • Înscris: 04.09.2018
Nu e site-ul angajatorului, e site-ul lor, e un tracker. Nu stiu daca foloseste un soft open source, cred ca da, ca nu au asa bani sa ia softuri pe bani. Ar trebui sa aiba un log cum zice dani, nu stiu, stie ca se da atacul de pe site, dar nici nu stie cum, eu am zis ca prin casutele de logare de la pass si user.
Ptr ca site e deja logat la DB deci nu are importanta ca stie sau nu pasu de la SQL atackerul, avea nevoie doar daca vroia sa intre direct si nu de pe site. Eu zic ca blocarea semnelor ce se folosesc intr-o comanda SQL va rez problema, steluta mai ales, doua puncte, punct si virgula, paranteze.

#12
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
SQL injection se evita transmitand corespunzator parametrii in interogari spre baza de date, nu blocand caractere aleatoare.

#13
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,444
  • Înscris: 10.08.2005
este un trend anul asta, poate ajunge si la "bazele de date"
SANITIZARE

#14
MinettoMatoi

MinettoMatoi

    Senior Member

  • Grup: Senior Members
  • Posts: 7,025
  • Înscris: 04.09.2018

View Postdani.user, on 15 iulie 2020 - 08:12, said:

SQL injection se evita transmitand corespunzator parametrii in interogari spre baza de date, nu blocand caractere aleatoare.
Explica putin ce inseamna daca vrei si cum s-ar face.

#15
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003
Exact, exact depinde de API-ul folosit pentru a te conecta la baza de date. Dar principial e asa:
- cand executi string-uri de forma:
EXECUTE "SELECT user FROM table WHERE parola='text parola' "
e usor sa faci ravagii sau ce mai vrei, cand in loc de 'text parola' scrii 'text parola\';DROP DATABASE db;\'' pentru ca se executa in fapt:
EXECUTE "SELECT user FROM table WHERE parola='text parola\';DROP DATABASE db;\''" adica:
> SELECT user FROM table WHERE parola='text parola';
> DROP DATABASE db;
>...

- folosind parametrii unui API ai ceva de grenul:
DECLARE @parola varchar(20)
SET @parola='text parola'
EXECUTE "SELECT user FROM table WHERE parola=@parola"
si orice balarie ai trimite tu in variabila @parola, SQL va cauta doar sa potriveasca valoarea din campul parola cu textul dat fara a intelege ca-s mai multe comenzi sql.

Edited by neagu_laurentiu, 18 July 2020 - 05:45.


#16
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Posts: 398,284
  • Înscris: 08.10.2015
Sau alta solutie, nu neaparat optima mai ales daca e vorba de la sute / mii de inregistrari in sus, se ruleaza un query si rezultatele returnate se compara cu ce introduce utilizatorul prin casutele de text. In felul asta orice ar scrie omul intr-o casuta nu este transmis catre SQL si se scapa de o problema. Dar dupa cum am zis nu stiu cat de optima e solutia dar e safe.

PS: Injectare cod se poate face in orice casuta de text unde un utilizator poate introduce ceva. Injectare de cod nu inseamna doar cod SQL. Pentru a se juca initiatorul si a intelege fenomenul as putea sa ii recomand un wargame interesant unde se folosesc ceva metode de code injection si altele. Dar cred ca o sa imi sara moderatorii in cap. Site-ul in cauza si wargame-urile de acolo sunt si pentru cei care sunt incepatori (noobi ca mine) in infosec si pentesting (white hacking).

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate