파일을 다운받아보니 html파일만 있었다
열어보니 귀여운호박 등장
2049번쯤 클릭하다가 손이 아파서 포기,,
코드를 보니 $('#jack-target').click()
함수가 counter의 값을 늘려준다
콘솔에 다음과 같이 입력하면 자동으로 10000번 클릭 효과가 나타나서
flag값이 뜬다!
🔑 DH{I_lik3_pumpk1n_pi3}
문제 페이지 접속하니 다음과 같은 화면이 뜬다
Upload 탭에 들어가면 파일을 업로드할 수 있다
실제로 파일을 올려보면 아래처럼 파일이 저장된 경로를 보여준다
그리고 List 탭에 들어가보면 내가 업로드한 파일 리스트를 볼 수 있다
이제 주어진 index.php
, list.php
, upload.php
파일을 보면 딱히 단서가 될 만한 부분이 없다
그리고 문제에 플래그는 flag.txt
에 있다고 했으므로
다음과 같이 flag.txt로 이동하는 command를 실행하는 php 파일을 작성하여 업로드한다
다시 List 탭에서 업로드한 파일을 들어가보면 플래그를 볼 수 있다!!!
🔑 DH{c29f44ea17b29d8b76001f32e8997bab}
문제 페이지에 접속하면 다음과 같은 화면이 나온다
코드를 보면 데이터베이스에 저장된 유저 정보를 볼 수 있다
userid | userpassword |
---|---|
guest | guest |
admin | ??? |
guest
로 로그인해보면
alert창이 뜬다
로그인부분 코드를 보면
select * from users where userid="{userid}" and userpassword="{userpassword}"
userid
와 userpassword
를 확인해서 일치하는 유저의 정보를 가져오고 있고,
if userid == 'admin':
return f'hello {userid} flag is {FLAG}'
admin
인지 userid
만 확인하고 있기 때문에
다음처럼 userid
부분에 admin"--
처럼 추석처리 해서
쿼리문 뒷부분에서 userpassword
확인 하는 부분을 날려버린다
그럼 플래그가 보인다!!
🔑 DH{c1126c8d35d8deaa39c5dd6fc8855ed0}
너무오랜만에 ctf문제 풀었더니 쉽지않다..
볼 때마다 늘 새로워
솔직히 너무 쉬운 문제만 풀긴했는데,,,,,
워밍업이라 생각하고 다음주부턴 각성해야겟다