반응형

HackCTF 문제 풀이 / Web - Input Check (150)

https://ctf.j0n9hyun.xyz/challenges#Input%20Check

 

HackCTF

Do you wanna be a God? If so, Challenge!

ctf.j0n9hyun.xyz

Input Check (150) 문제를 풀어 보도록 하겠습니다. 

우선 아래 링크에 들어갑니다.

http://ctf.j0n9hyun.xyz:2033/

아래와 같이 입력란이 있고, OK 버튼이 있습니다. 

flag를 입력해보겠습니다. 

text 변수에 flag가 들어가지만, No Hack~ 이라고 출력됩니다. 

개발자 코드(F12)로 코드를 보겠습니다. 

Hint가 있고, 입력 명령어 check는 배열 타입이라고 합니다. 

입력을 배열로 해보겠습니다. 

배열에 flag를 넣어 보았는데, Flag가 출력되는 것을 볼 수 있습니다.

 

PHP 5.2 이하의 버전의 strcmp 취약점입니다. 

ctrcmp에서 array 값을 넣으면 array를 문자열로 인식하여 1 or -1로 반환된다고 합니다.

반응형
반응형

HackCTF 문제 풀이 / Web - Login (100)

 

https://ctf.j0n9hyun.xyz/challenges#Login

 

HackCTF

Do you wanna be a God? If so, Challenge!

ctf.j0n9hyun.xyz

 

Web - Login (100) 문제를 풀어보겠습니다. 

우선 아래 링크에 접속하겠습니다.

http://ctf.j0n9hyun.xyz:2024/

그러면 아래와 같이 Username, Password 입력창과 Login / View Source 버튼이 있습니다. 

View Source 버튼을 눌러보겠습니다.

소스 코드를 보면 id와 pw를 $sql로 db에 쿼리를 던지고 있습니다. 

$sql = "select * from jhyeonuser where binary id='$id' and pw='$pw'";
위 코드의 id='$id' and pw='$pw' 부분에서 SQL Injection이 일어날 수 있습니다.

아래 코드를 id 입력란에 넣어면 조건이 무조건 참이라, 그 id(admin)에 해당하는 값을 가져올 수 있습니다. 

admin' or '1'='1

아래와 같이 입력하고, Login 버튼을 눌러보겠습니다.

그러면 아래와 같이 Flag가 출력됩니다. 

반응형

+ Recent posts