본문 바로가기

반응형

분류 전체보기

(246)
webhacking.kr old 47번 문제풀이(Writeup) SMTP 메일서버 취약점 1. webhacking.kr old 47번 문제개요(Writeup) 문제를 들어가면 위와 같이 출력된다. 메일을 보낼 수 있는 폼이 존재하고 코드를 보니, 10초에 한번 가능하다. 쿠키나 폼에는 의심되는 것이 보이지 않는다. 일단 지금까지 얻은 힌트로는 Mail과 관련된 문제이고, 'subject를 보내는 동작을 한다.'이다. 여기까지만 봤을 때는 해킹과 방어 수업 때 들은 SMTP, IMAP, POP3 중 하나의 취약점일 것이고, IMAP은 메시지를 읽어오는 과정이고, POP3는 메일서버에서 메일을 검색하는데 자주 사용되기 때문에, SMTP 취약점일 것이라고 생각했다. SMTP에도 다양한 취약점이 존재하고 있고, 내 지식은 모든 취약점에 대해 제대로 알지 못한다. 따라서 SMTP 취약점 중 대표적인 ..
webhacking.kr old 19번 문제풀이(Writeup) webhacking.kr old 19번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. id: admin을 입력하니 "your are not admin"이 출력된다. 코드를 확인해보자. 따로 의심될만한 코드 부분이 보이지 않는다. 혹시 몰라서 guest로 로그인 시도를했다. guest 로그인이 되었다. GET 메소드를 이용하는 것과 id 파라미터를 이용한다는 것에서 Injection이 가능할 것으로 생각했다. 예상한대로, ?id=admin-- 으로 뒤에 부분을 생략하니 성공 메시지가 출력되었다. 이를 통해 webhacking.kr old 19번을 해결했다.
webhacking.kr old 39번 문제풀이(Writeup) webhacking.kr old 39번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 코드를 확인해보자. Blind SQL Injection일 것으로 보인다. SQL Injection에 대해 잘 모르는 분들은 아래 링크에서 공부하고 오길 바란다. 2022.09.06 - [웹해킹/드림핵] - 드림핵 웹해킹 baby - sqlite 워게임 문제 풀이 및 SQL Injection 설명 코드를 확인해보니 POST 메소드를 사용하는 SQL Injection 문제이다. query문이 이미 나와있고, \\ -> ""으로, ' -> ''로 필터링된다. 그리고 입력된 id값은 substr() 함수로 인해 0~15자리만 잘려서 저장된다. query문을 보면 length(id)
webhacking.kr old 54번 문제풀이(Writeup) webhacking.kr old 54번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 마지막에 '?'위치에서 문자가 계속 변경되면서 Password가 노출되는 것으로 보인다. 코드를 확인해보자. Burp Suite로 따라가면서 찾은 flag는 FLAG{a7981201c48d0ece288afd01ca43c55b}이다. 너무 쉬워서 이게 끝이 아닐 거라고 생각했는데, 이게 끝이었다..
webhacking.kr old 38번 문제풀이(Writeup) 및 Log Injection 설명 webhacking.kr old 38번 문제 개요(Writeup) 문제를 들어가면 위와 같이 출력된다. 이번 문제는 Log Injection 문제이다. 문제를 풀기 전에 Log Injection이 무엇인지 알아보자. Log Injection이란? Log Injection은 사용자 입력이 로그에 포함되는 경우 공격자가 이를 이용해 로그 항목을 위조하거나 악성 내용을 로그에 삽입하는 공격을 말한다. 간단하게 말하면 SQL Injection과 같이 파라미터를 이용하여 Log를 조작하는 공격 방법이다. 공격 방법(Log forging) 사용자 입력에 의해 CRLF(\r\n) 문자를 이용하여 새로운 로그를 작성할 수 있다. 이를 통해 침해사고 대응을 어렵게 하고, 로그 무결성을 해쳐서 신뢰성을 떨어뜨린다. 코드가..
webhacking.kr old 41번 문제풀이(Writeup) webhacking.kr old 41번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 파일 업로드 창이 보인다. 코드를 확인해보자. isset 함수를 통해 php 함수로 파일이 되어 있는지 확인하고, 파일 이름에 . /가 들어가면 필터링된다. 그리고 업로드된 파일은 upload_dir에 복사하여 저장한다. 분명 파일업로드 취약점일 것 같은데 어떤 방식으로 취약점이 발생하는지 잘 모르겠다. 일단 upload_dir에 파일을 복사하여 저장하니까 접속을 시도했더니 안들어가진다. 웹쉘을 올리더라도 경로에 접속이 안되므로 webshell을 실행할 수 없다. 그렇다면 이번 문제는 경로와 관련된 문제라고 생각했다. copy 함수에 대해 생각해봤다. copy함수는 파일이름의 글자 수를 255자까..
webhacking.kr old 26번 문제풀이(Writeup) webhacking.kr old 26번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 코드를 확인해보자. 코드를 보면 preg_match로 admin을 필터링하고 있는 모습이 보인다. 이후에 id값을 urldecode해서 admin과 비교한다. 따라서 admin을 url encde해서 id로 전달하면 된다. admin == %61%64%6d%69%6e가 된다. 입력하였지만 %61%64%6d%69%6e가 admin으로 자동 디코딩이 되어 필터링되었다. 그러면 한번 더 인코딩해서 전달해보았다. 이번엔 직접하기 귀찮아서 아주 간단하게 php 코드로 인코딩했다. ?id=%2561%2564%256d%2569%256e 으로 입력하니 성공 메시지가 나왔다. 왜인지 모르겠지만 admin을 urlenco..
webhacking.kr old 18번 문제풀이(Writeup) SQL Injection관련 워게임 webhacking.kr old 18번 문제풀이(Writeup) SQL Injection관련 워게임 문제를 들어가면 위와 같이 출력된다. SQL Injection문제이다. 먼저 SQL Injection에 대해 잘 모르거나, 헷갈리는 분들은 아래 글을 통해 공부하고 오길 바란다. 2022.09.06 - [웹해킹/드림핵] - 드림핵 웹해킹 baby - sqlite 워게임 문제 풀이 및 SQL Injection 설명 다들 잘 알고 있을거라고 생각하고, 문제를 진행하겠다. 코드부터 확인해보자. php 코드를 보니 preg_match를 통해 몇 가지 문자와 문자열을 필터링하고 있다. Bypass 해서 admin으로 접속하면 문제가 끝날 것으로 보인다. 여기서 우리가 집중해서 봐야할 부분은 GET 방식 메소드를 선..

728x90