TigerDemon
[4주차] LORD OF SQLINJECTION_orc 본문
https://los.rubiya.kr/chall/orc_60e5b360f95c1f9688e4f3a86c5dd494.php
https://los.rubiya.kr/chall/orc_60e5b360f95c1f9688e4f3a86c5dd494.php
los.rubiya.kr
위 링크에 들어가면 아래 사진처럼 뜬다.

우선 참과 거짓에 따라 다르게 나오는 포인트를 찾아보기 위해 ?pw='||1=1%23 을 url 뒤에 입력하면 아래 사진과 같이 Hello admin 이라는 문구가 출력된다.

이 문제를 풀기 위해선 pw가 뭔지 알아야한다. 길이를 알아야하기 때문에 ?pw='or length(pw)>5;%23 등을 입력한다. 숫자만 바꿔서 하면되는데 이때 참인지 거짓인지는 Hello admin 이라는 문자열로 알 수 있다.

이렇게 찾다보면 길이는 8이 나온다는 것을 알 수 있다. 이제 pw의 첫번째 문자부터 8번째 문자까지 참과 거짓을 통해 알아보면 된다. ?pw=1' or id='admin' and ascii(substr(pw,a,1))=&&%23 에서 a는 비밀번호 length이다 1~8까지 집어 넣으면서 &&에 ASCII 표 문자를 하나씩 넣어서 하면 된다.

위에 사진에서 pw의 첫 자리에 48을 넣어보니 Hello admin이 나왔으으로 pw의 첫 자리는 0임을 알 수 있다.
ASCII 표이다. 출처: https://www.commfront.com/pages/ascii-chart
ASCII Chart
ASCII Table - Standard and Extended ASCII Chart, ASCII Codes ASCII stands for American Standard Code for Information Interchange. It ranges from 0 to 255 in Decimal or 00 to FF in Hexadecimal. ASCII codes can be divided into two sets - Standard ASCII codes
www.commfront.com

이렇게해서 pw는 095a9852라는 것을 알게되었다. 따라서 url에 ?pw=095a9852 를 붙이면 된다.

총 4문제를 풀었다.

'2023-SWLUG > CTF 문제 풀이' 카테고리의 다른 글
| [5주차] Dreamhack DOM XSS (0) | 2023.11.08 |
|---|---|
| [4주차] Dreamhack simple_sqli (0) | 2023.11.01 |
| [4주차] LORD OF SQLINJECTION_goblin (0) | 2023.11.01 |
| [4주차] LORD OF SQLINJECTION_cobolt (0) | 2023.11.01 |
| [4주차] LORD OF SQLINJECTION_germlin (0) | 2023.11.01 |