wargame.kr(4)
-
[wargame.kr] counting query 풀이 (PW = FLAG 앞 10글자)
보호되어 있는 글입니다.
2024.06.01 -
[wargame.kr] tmitter 풀이
처음에는 무슨 문제인가 싶어서 소스부터 뜯어봤습니다. 맨 아래에 hint라며 주석 처리된 문장이 있습니다. admin으로 로그인하면 문제가 풀리는 형식인 것 같은데, 어떻게 로그인을 할지가 문제입니다. 우선 사이트의 구동 형식이라도 알아야 할 것 같아서, 임의의 계정을 만들어 로그인을 해봤습니다. 블로그 방명록을 작성하는 형식으로 구동되는 홈페이지인 것 같습니다. 작성 칸에 무언갈 작성 후 버튼을 눌러봐도 달라지는 것 없었습니다. 그렇다면 역시 Sign Up 페이지에서 취약점이 발생하는 것 같습니다. DB 부분에서 취약점이 발생하는 것 같기에, 우선 기본적인 DB 문법부터 살펴봤습니다. 필자는 DB 문법에 대해서는 거의 아는게 없습니다. ^ㅁ^... 공부해야지 https://velog.io/@taeha7..
2022.02.03 -
[wargame.kr] strcmp 풀이
소스코드를 보니 바로 보이는 게 있네요. // do not brute force!라고 되어있는 걸 보니, sleep(1); 때문에 브포는 안될 것 같습니다. 그럼 다른 풀이법을 생각해봅시다. 우선, 가장 중요한 password는 랜덤으로 가져오게 됩니다. strcmp() 함수를 실행해서 결과값이 0일 경우(같을 경우)에 FLAG를 출력해줍니다. 사실 처음에는 어떻게 풀어야 할지 감이 오지 않았지만, 구글링을 해보니 strcmp() 함수에 취약점이 있었습니다. strcmp로 비교를 할 때 인자값에 배열이 들어가면 NULL이 나오게 됩니다. 그러므로 html 코드에 있는 name="password"을 name="password[]"로 바꿔주고 아무 값이나 보내주면 될 것 같습니다.
2022.01.06 -
[wargame.kr] login filtering 풀이
소스코드 제일 아래에 있는 아이디랑 비번?처럼 보이는 것을 써서 로그인부터 해보겠습니다. you have blocked accounts. 라고 써져있는 걸 보니 사용할 수 없는 계정인가 봅니다. blueh4g / blueh4g1234ps 계정도 마찬가지였습니다. 이제 페이지가 어떻게 작동하는지 알았으니, 본격적으로 소스코드를 해석해보겠습니다. 코드의 윗부분은 문제 풀이에 그다지 도움되지 않는 부분이니, 설명은 생략하도록 하겠습니다. 여기 있는 if문이랑 sql구문이 중요해 보입니다. 차근차근 분석해보겠습니다. id가 존재할 때, id가 guest 또는 blueh4g라면 "your account is blocked"를 출력해줍니다. 아니라면 "login ok"를 출력해주고 FLAG를 출력해줍니다. id가 ..
2022.01.01