사이트 주소 : 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 함수를 활용한 노가다 인젝션이네요... 슬슬 자동화 도구의 쓸모가 느껴집니다.
[Lord of SQL Injection] vampire 9번 풀이 (0) | 2020.08.14 |
---|---|
[Lord of SQL Injection] troll 8번 풀이 (0) | 2020.08.14 |
[Lord of SQL Injection] darkelf 6번 풀이 (0) | 2020.07.06 |
[Lord of SQL Injection] wolfman 5번 풀이 (0) | 2020.07.06 |
[Lord of SQL Injection] orc 4번 풀이 (0) | 2020.07.06 |
댓글 영역