상세 컨텐츠

본문 제목

[Lord of SQL Injection] orge 7번 풀이

[Tech] War Game/Lord of SQL Injection

by tech-dailylife 2020. 7. 6. 16:05

본문

반응형

사이트 주소 : https://los.rubiya.kr/

 

7번 문제 orge 입니다.

 

 

[문제 접근]

query를 보면 id는 guest로 고정되어 있고, pw 파라미터를 입력받고 있습니다.

소스코드를 보면 admin의 pw를 맞춰야 문제를 풀 수 있는 것 같네요.

 

pw를 알아내기 위해 블라인드 인젝션을 활용합니다.

먼저 참과 거짓이 결과가 다른 포인트를 찾아보겠습니다.

 

?pw=null'||1=1%23

Hello guest 라는 문자열이 출력됩니다. (참)

아무 것도 출력되지 않습니다. (거짓)

 

이제 pw의 길이를 알아보겠습니다.

10보다는 작고, *보다는 작고? 를 반복하다 보면 길이를 알 수 있습니다.

pw 길이는 8입니다.

이렇게 length 함수를 통해 문자열의 길이를 알아낼 수 있습니다.

 

이제 ascii와 substr 함수로 pw를 한 글자씩 알아봅니다.

?pw=null'||ascii(substr(pw,1,1))<100%23

반복해서 Hello admin이 안나올 때 값을 찾습니다.

55와 56 사이에서 안나오고 나오기 때문에 ascii 값 55가 첫 번째 pw 값입니다.

첫번째 값은 7입니다.

반복해서 8글자까지 찾아냅니다.

두번째 ascii 값은 98로 b 입니다. (7b)

 

세번째 ascii 값은 55로 7 입니다. (7b7)

 

네번째 ascii 값은 53로 5 입니다. (7b75)

다섯번째 ascii 값은 49로 1 입니다. (7b751)

여섯번째 ascii 값은 97로 a 입니다. (7b751a)

일곱번째 ascii 값은 101로 e 입니다. (7b751ae)

여덟번째 ascii 값은 99로 c 입니다. (7b751aec)

 

[문제 정답]

정답 : ?pw=7b751aec

 

"ORGE Clear!" 가 나타납니다. 정답!

다음 스테이지로 넘어가시죠~

 

ascii와 substr 함수를 활용한 노가다 인젝션이네요... 슬슬 자동화 도구의 쓸모가 느껴집니다.

반응형

관련글 더보기

댓글 영역