Hej, jag söker någon som anser sig vara duktigt på att hitta buggar och fel på en sida. Det jag vill är att försöka hacka dig in på min server och göra saker som jag inte tillåtit med hjälp av sessions osv. Detta vill jag för att ta reda på om sidan är säker eller ej. Den måste vara säker när den lanseras. Skicka ett privat mess till mig så ger jag dig mer information. Använder du https? Om inte kan du börja med att göra det först. Det är ett måste för att en inlogning skall vara säker. Om du vill kan du får testa att hacka sidan. Tycker du att du borde kunna göra det? =) Jag är ingen hacker. Tänker inte klä på mig den rollen. Jag är ingen hacker. Tänker inte klä på mig den rollen. Jag vet inte riktigt vilken kod jag ska visa, men såhär har jag i alla fall byggt upp det: SQL-injection fungerar som namnet antyder att man injicerar villkor i SQL-frågan. Användaren avslutar påbörjad sträng med ' och lägger sedan ett villkort som alltid är sant. Har hittat en pdf som mycket ingående beskriver hur SQL Injection går till och hur man kan sksydda sig, en mycket intressant läsning Hej, jag hängde med på din förklaring, men jag undrar hur man kan köra en SQL-sträng mot en databas vars namn man inte vet? Kan man ta reda på det på något sätt om man inte har lösenord osv till den? Dessutom undrar jag hur du menar med det tipsen som du länkat till. jag förstår inte riktigt vart jag ska lägga det osv. Inget är omöjligt finns det något som heter. Om du inte känner till dem finns det ju inget som hindrar dig från att testa dig fram. Om det gäller en sida med fråger, svar och liknande kan man ju testa med Answer, Answers, tAnswer, tAnswers, t_Answer, t_Answers, tblAnswer, tblAnswers, tbl_Answer, tbl_Answers, osv. Till slut kanske man hittar rätt tabellnamn. Om du publicerar länken till sidan kan ju alla som känner för det testa... Att testa sig fram med databastabeller är väl ingen konst om man bortser från tiden det kan ta, men att för att kunna komma åt tabellen måste man väl ha rätt login, lösen och databas eller? Eftersom mySQL är ett så utbrett system så förstår jag inte hur det kunde vara enkelt att ta sig in i det? Det borde ju vara svårt om så många använder sig av det, eller hur? Johan: jag vill inte publicera länken till sidan eftersom jag vill ha kontroll på vilka som använder den. Det är enda anledningen. Inte jag heller. Tror det var inte som smög in sig i meningen. Anntingen det eller så har någon hackat pellsoft och ändrat mitt inlägg. ;o) >jag undrar hur man kan köra en SQL-sträng mot en databas vars namn man inte vet? Det första du skrev svarar ju inte på min fråga riktigt. Det är ju skillnad på en databas och en tabell. Om man inte har kopplat upp sig mot rätt databas kan man väl inte bara köra en SQL-sats för att "hacka" tabellerna i den eller? Ett tabellnamn kan man ju säkert ta reda på, men databasen måste väl vara säkrare än att man bara kan skriva en SQLsats? >Om man inte har kopplat upp sig mot rätt databas kan man väl inte bara köra en SQL-sats för att "hacka" tabellerna i den eller? Då är jag med. Fattade inte rikgt var man skulle skriva in det där heller, men nu är jag med. om du vill försöka göra saker som jag inte tillåter så får du det. Jag vill dock ha kontroll på vilka som är inne på sidan. Skicka ett privat meddelande till mig så får du adressen till sidan. Jag testade den där SQL-injection-prylen som det finns ett tips om här på pellesoft. Den gör om SQL-satsen innan den körs mot databasen, men den verkar inte fungera. Vad kan det vara? Jag får inget felmeddelande som jag kan tyda..=/ > Jag är ingen hacker. Tänker inte klä på mig den rollen. >Den gör om SQL-satsen innan den körs mot databasen, men den verkar inte fungera. Vad kan det vara?Söker "hackare" för att testa säkerheten i ASP
-hermanSv: Söker
Sv: Söker
-hermanSv: Söker
Finns så många sätt man kan äventyra säkerheten. Ju mer kunskap och uppfinnesrikedom du har ju lätt är det.
Om man t.ex. glömt köra Server.HTMLEncode() på ett värde som skrivs ut. En site består av många sider och mycket kod. Är lätt gjort att misssa något.
Då är det lätt att påverka javascript. t.ex. javaskript ändrar action. Kan var farligt om man gör det på inloggningsidan. <code>
<form action="login.asp" id="form1">
<INPUT type="text" name=q>
<INPUT type="submit" value="Submit">
</form>
<script type="text/javascript">
var myForm = document.getElementById('form1');
myForm.action = "http://www.google.se/search"
</script>
</code>
Kan man ju logga alla användarse användarnanm och lösenord och redirecta tillbaks dem så att det inte märker något:
Detta är ett väldigt enkelt exempel som är lätt att undvika om man känner till det. Kan ju bara göras om det är en asp sida vars innehåll någon användare har möjlighet att påverka.
Jag tror det bästa sättet är att bedömma koden. Kan man lättare se säkerhetsbrister.Sv: Söker
Finns så många sätt man kan äventyra säkerheten. Ju mer kunskap och uppfinnesrikedom du har ju lätt är det.
Om man t.ex. glömt köra Server.HTMLEncode() på ett värde som skrivs ut. En site består av många sider och mycket kod. Är lätt gjort att misssa något.
Då är det lätt att påverka javascript. t.ex. javaskript ändrar action. Kan var farligt om man gör det på inloggningsidan. <code>
<form action="login.asp" id="form1">
<INPUT type="text" name=q>
<INPUT type="submit" value="Submit">
</form>
<script type="text/javascript">
var myForm = document.getElementById('form1');
myForm.action = "http://www.google.se/search"
</script>
</code>
Kan man ju logga alla användarse användarnanm och lösenord och redirecta tillbaks dem så att det inte märker något:
Detta är ett väldigt enkelt exempel som är lätt att undvika om man känner till det. Kan ju bara göras om det är en asp sida vars innehåll någon användare har möjlighet att påverka.
Jag tror det bästa sättet är att bedömma koden. Kan man lättare se säkerhetsbrister.Sv: Söker
den finns en tabell i mySQL-databasen med 1000 olika 10 teckan långa idnummer, uppbyggda av Versaler, gemener och siffror. När man loggar in så jämförs fältet med en enkel "SELECT FROM" där man kollar om idnummret över huvud taget finns med. Gör det det så går den vidare med alla andra saker. Det jag är lite nyfiken på är det där som kallas "SQL-injection", hur funkar det och hur kan man undvika det?
-hermanSv: Söker
Vilket skulle resultera i att SQL-frågan ser ut ungefär så här:
SELECT * FROM Users WHERE Username='user' AND Password='fel' OR 1=1
Eftersom 1=1 alltid är sant så behöver inte lösenordet stämma och användaren kan logga in utan att känna till lösenordet.
För att förhindra det, se mitt uppskick [Förhindra manipulering av sql frågor].
/PeterSv: Söker
http://www.nextgenss.com/papers/advanced_sql_injection.pdf
Den fick upp mina ögon på hur enkelt man kan knäcka en inloggning mm om man inte skyddar sig på ett ordentligt sättSv: Söker
tack på förhand.
-hermanSv: Söker
Men det är inte heller bara intrång man skall var rädd för.
Finns en annan typ av attack som så fint på engelsa heter "Denile of Service(DoS) attack". Vilket innebär att du belastar servern så mycket att den går ner, inte hinner hanter alla anrop.
Om du då har det öppet för SQL-Inject så kan ju det göra det enklare att dra ner servern. Jag kan gissa på att det i vissa fall kan dra mer resurser att generera ett fel än att göra giltliga fråger.
Så om du vill säga att din server eller sida är "säker" så hoppas jag du gör det när den verkligen inte är det.
Att känna till en brist eller fel utan att åtgärda den tycker jag är lite Microsoft Stuk. Finns nog en del programmerare där med samma attityd.
I Open Source har ju andra möjlighet att granska koden. Det kan påpeka säkerhetsbrister. Men även utnyja dem.Sv: Söker "hackare" för att testa säkerheten i ASP
/JohanSv: Söker
Vad menade du förresten med "Så om du vill säga att din server eller sida är "säker" så hoppas jag du gör det när den verkligen inte är det." ? Jag förstod inte riktigt det.
-hermanSv: Söker "hackare" för att testa säkerheten i ASP
-hermanSv: Söker
Sv: Söker
Det behöver du inte veta, frågan körs automatiskt mot databasen och det ända man behöver göra är att manipulera lite med SQL-frågan. För närmare beskrivning, se här: http://www.developer.com/net/asp/article.php/2243461
>Dessutom undrar jag hur du menar med det tipsen som du länkat till.
Har uppdaterat det nu, hoppas det blev lite tydligare.
/PeterSv: Söker
tack för uppdateringen av tipset. ska kika mer på det imorgon.
-hermanSv: Söker
Näe, det kan man inte, men SQL-injection går ut på att man lägger in lite SQL-kod i lösenordsrutan när man ska logga in. Man behöver inte koppla upp sig mot någon databas eftersom allting skicka ju av sidan, annars skulle användarna inte kunna logga in överhuvud taget.
/PeterSv: Söker
tack så mycket
-hermanSv: Söker
-hermanSv: Söker
-hermanSv: Söker
På en programmeringssida borde det finns fullt av "hackers". Däremot är det bra om det inte finns några "crackers".Sv: Söker
Slarvigt av mig, glömde skriva i tipset att koden bara ska köras på de strängar som skickas från sidan och inte hela SQL-satsen. Uppdaterat igen.
/Peter