본문 바로가기

반응형

분류 전체보기

(246)
webhacking.kr old 24번 문제풀이(Writeup) webhacking.kr old 24번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 뭔가 IP를 갖고 푸는 문제처럼 보인다. 이제 코드를 확인해보자. ip가 127.0.0.1이면 해결되는 문제이다. 하지만, 12와 7.과 0.과 . .이 필터링된다. 필터링을 우회해서 IP를 설정하면 된다. 그래서 필터링 될 것을 생각하고 주소를 만든 결과를 아래에 적었다. REMOTE_ADDR 112277...00...00...1 입력하니 성공 메시지가 나오는 것을 확인하였다. *주의 개인적으로 쿠키 추가가 크롬에서 안돼서 Burp Suite를 이용해 패킷에서 쿠키를 추가해서 전달했다.
webhacking.kr old 37번 문제풀이(Writeup) webhacking.kr old 37번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 파일을 업로드할 수 있는 페이지가 나온다. 코드를 확인하자. 먼저 db가 연결되어 있고, query를 알려준다. select flag from challenge where idx=37 db와 query를 넣어서 MySQL에서 레코드를 가져와서 flag 변수에 저장한다. 파일을 ./tmp/tmp-시간을 통해 만들고 127.0.0.1을 저장하고 파일을 닫는다. 업로드 파일은 , ., /, 공백이 필터링이 된다. scandir을 통해 ./tmp 아래에 있는 모든 파일에 대해 출력하는 모습도 보인다. 마지막 코드 부분에 보면, file_get_content 함수를 통해 ./tmp/tmp-{$time} 파일 내의..
webhacking.kr old 36번 문제풀이(Writeup) swap 파일 문제 webhacking.kr old 36번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 해석을 하면 vi 에디터로 index.php를 수정하던 중 정전 때문에 코드가 사라졌다고 한다. vi 에디터로 원본 파일이 손상을 입었다는 문제의 대부분은 swap파일을 찾아서 해결하는 문제이다. 따라서 원본파일이 index.php 파일이므로, .index.php.swp 파일이 있는지 찾아보자. .index.php.swp 파일을 URL을 통해 요청하니 swap 파일이 다운로드된다. 다운로드된 파일을 칼리 리눅스에서 vi에디터로 열어보니 다른 다른 에디터로 열어봐야 할 것만 같은 느낌이다. 다음은 HxD(헥사 에디터)를 통해 열어봤다. FLAG가 노출되는 것을 확인했다. 이번 문제는 vi 에디터로 수정 중..
webhacking.kr old 33번 문제풀이(Writeup) webhacking.kr old 33번 문제풀이(Writeup) 1 문제를 들어가면 위와 같이 출력된다. 33-1을 보니 뭔가 1도 있고 2도 있을 것으로 보인다. 코드를 확인해보자. ?get=hehe이면 Next가 나온다고 한다. 확인해봤다. Next가 나왔다. 클릭해봤다. 2 lv2.php로 이동했다. 뭔가 흥미로운 문제인 것 같다. 재밌다. 코드를 확인해보자. 이번엔 post 방식으로 post가 hehe이고 post2는 hehe2로 전송해야 한다. Burp Suite로 전송해봤다. Burp Suite에서 캡처한 후 마우스 우클릭 -> change requests method가 있다. 클릭해서 post 방식으로 바꿔주고 post와 post2를 포함해서 넣어준다. 3 Next가 나왔고 클릭하니 chal..
webhacking.kr old 42번 문제풀이(Writeup) webhacking.kr old 42번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 들어가자 느낀 것이지만 File download 취약점을 이용한 문제로 보인다. 그래서 download를 둘 다 눌러봤는데 test.txt는 다운로드가 가능하지만 flag.docx는 다운로드가 되지 않는다. 코드를 확인해보자. 두 개의 링크를 보니까 test.txt는 web-20/?down=dGVzdC50eHQ= 라고 나온다. "dGVzdC50eHQ=" 이 부분이 인코딩 되어 있는 것 같아서 두 가지를 확인해봤다. 처음엔 URL 디코더로 디코딩하니 나오지 않는다. 그래서 base64로 디코딩해봤다. 찾았다. 링크를 base64로 인코딩해서 사용했던 것이다. 그래서 flag.docx를 base64로 인코딩..
webhacking.kr old 09번 문제풀이(Writeup) webhacking.kr old 09번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 궁금하니까 1, 2, 3을 눌러보고 Password도 제출해봤다. 1, 2 까지는 ID가 각각 apple과 banana가 나온다. 이후 3을 클릭하니 ID가 Secret으로 나오고, Column 이름에 대해서 알려준다. 딱 봐도 SQL Injection 문제이다. password를 입력하니 get메소드로 pw가 전달되는 것으로 보인다. Password를 알아내려면 no=3에 ID를 알아내야 한다. 문제를 풀기 위해 이번엔 잘못된 입력값을 넣어봤다. apple은 no=1이지만 2를 넣어서 확인해보니 "Access Denied"가 출력된다. 이를 통해 Access Denied가 출력되면 잘못된 것임을 알았으..
webhacking.kr old 11번 문제풀이(Writeup) webhacking.kr old 11번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. 코드를 확인해보자. 정규식 pat에 대한 문자열을 맞추면 해결될 것으로 보인다. 문제 해결을 위해 해당 정규식에 대해 알아보자. "/[1-3][a-f]{5}_.*211.206.236.4.*\tp\ta\ts\ts/" 1. [] : 문자 클래스 [] 사이의 문자들과 매치되어야 한다. 따라서 [1-3]은 "1, 2, 3"중 하나이다. [a-f]도 "a, b, c, d, e, f" 중 하나이다. 2. {m, n} 반복 {m, n}은 바로 앞 문자의 반복 횟수가 m 이상 n 이하인 무자를 말한다. 따라서 a{5}bc 인 경우 aaaaabc를 나타낸다. 3. .(dot) 정규 표현식의 .(dot)는 줄 바꿈 문자인..
webhacking.kr old 12번 문제풀이(Writeup) webhacking.kr old 12번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. javascript 문제라고 표기되어 있기에 한번 코드부터 천천히 확인해보자. 귀여운 이모티콘들이 보인다. 뭔가 긴 문장이 난독화되어 있는 것은 알겠다. 그럼 어떤 걸로 encode되어 있는지 찾아보니 캐릭터 코드 난독화라고 한다. https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html aadecode - Decode encoded-as-aaencode JavaScript program. ['_'] aadecode - Decode encoded-as-aaencode JavaScript program. (゚Д゚) ['_']..

728x90