본문 바로가기

호그와트

(367)
드림핵 메모리 누수 문제 str을 정수로 변경하면 어떻게 값이 나오는지 궁금해지기 시작했다 처음부터 여기가 핵심이 된다고 생각했기 때문이다 str(0xdeadbeef)는 정수로 변경하면 (파이썬으로 그 값을 구할 수 있다) 3735928559이다 그런 식으로 순차적으로 값을 넣으면 ​ 1. Join 2. Print information 3. GIVE ME FLAG! >1 Name: AAAAAAAAAAAAAAAA (attack vector) Age: 3735928559 (attack vector) 1. Join 2. Print information 3. GIVE ME FLAG! > 3 1. Join 2. Print information 3. GIVE ME FLAG! > 2 Name: AAAAAAAAAAAAAAAA���DH{a77a..
웹해킹 26번 문제 주어진 php 코드를 보면 매우 간단하다 admin을 인코딩해서 값을 넣으면 그걸 자동으로 디코딩하기 때문에 한 번 더 인코딩해서 던져주면 php코드는 이를 admin으로 인식해서 결국 우회에 성공하게 된다 %2561%2564%256d%2569%256e
웹해킹 25번 문제 http://webhacking.kr:10001/?file==../../flag 다른 거에는 아무 반응도 없더니 위에 입력값에는 FLAG is in the code 이런 반응을 보였다 ​ php://filter/convert.base64-encode/resource=flag ?? 내가 php-1에서 봤던 php 명령어가 그대로 사용된다 이게 file vulnerability이라고 생각했는데 이 명령어가 그대로 사용될 줄은 상상도 못했다 ​ ​ 역시 이 다음 부분은 php-1과 완전히 같았다 사실 그렇게 치면 php-1이 이 문제를 오마주한 것일 지도 모르겠다 다만 리눅스 화면이 맨 처음에 등장하는 상태에서 php 명령어가 그대로 적용될 줄은 정말 몰랐다
드림핵 read_flag 오후에 할 거를 다 하고도 시간이 좀 남아서 write-up이나 몇 개 공유해볼까 한다 누군가가 워게임 댓글에다가 ez 이 따위로 써놓는 거 별로 안 좋아해서 나도 easy 이런 식으로 말을 잘 안 하는 편인데 이 문제는 정말 그렇게 얘기할 수밖에 없는 문제이다 easy!! 물론 나도 잘 안다. 이 문제는 옆길로 새기 매우 쉬운 문제이다. goahead취약점 찾아서 구글 여기 저기를 떠돌아다니거나 오픈소스의 취약점을 하나씩 하나씩 분석한다던지 등등.. 끝도 없이 새로운 길로 갈 수 있는 문제이다. 근데.. 정말 이 문제를 풀고 나면 뭐야 이 시시한 문제는.. 정말 쉬운 문제였구나 이 반응 밖에 할 게 없다 푸는 방식을 다 알려줄 수는 없지만 아마 많은 옆길로 샌 사람들을 위해서 짤막한 힌트 하나 남기고 ..
드림핵 baseball 그나마 쉬운 문제라서 풀 수 있었던 거 같네요 재밌있었어요 기드라에 올려 놓으면 척 봐도 0101289 함수가 눈에 띕니다 이 분석 과정을 찬찬히 보면 ~~~~ 인코딩 과정을 그대로 붙여놓은 것을 알 수 있어요 맨 처음에는 이걸 눈치채지 못하다가 보고 또 보다보니 baseball 힌트가 떠올라서 알게 될 수 있었습니다 ​ ~~~~~로 인코딩한다고 하더라도 테이블 구성을 바꾸면 완전히 다른 값으로 결과값이 나옵니다 여기에서 제공된 text_in, out을 참고해보니 테이블 값이 달라졌다는 것을 추측할 수 있었습니다 그걸 바탕으로 다시 새롭게 테이블을 구성한 뒤 파이썬으로 돌려주었습니다 ​ ​ from ~~~~~~~~~~~~~~~~~~ ENCODED_FLAG = 'S/jeutjaJvhlNA9Du/GaJBhL..
드림핵 tomcat manager 해당 워게임에 들어가면 드림이가 망치를 들고 있는 거밖에 나오지 않는다 http://host1.dreamhack.games:13040/image.jsp?file=working.png 소스코드를 확인해보면 이미지 하면서 뒤에 내용이 붙는데 유일한 어택 벡터라는 것을 알 수 있다 파일 = 하면서 내용이 붙는 것이기 때문에 자신이 원하는 값을 붙여서 플래그를 추적하는 것이라는 점을 알 수 있다 ​ 실제로 버프 스위트로 이런 식으로 구성하면 GET /image.jsp?file=../../../../../../../../../../../etc/hosts HTTP/1.1 ​ 127.0.0.1 localhost localhost.localdomain ::1 localhost localhost.localdomain 1..
드림핵 jff3_magic 0e495317064156922585933029613272 115528287 정말 구글링 없이 풀 수가 없는 문제이다... 아이디와 패스워드를 입력할 수 있는 벡터가 나오고 값을 입력했을 때 해시 값이 나온다 그 해시값으로 구글링 해보면 HAVAL-128,5 해시 알고리즘 이라는 것을 충분히 알 수 있는데 누군가가 이 해시 알고리즘에 해당하는 매직 넘버와 매직 해시값을 구해두었다 어떤 롸업에 보면 파이썬이나 프로그래밍 등을 사용하던데 솔직히 그렇게까지 나아가는 건 좀 이상한 짓이고 간단한 정보를 활용해서 풀어본다면 이 해시알고리즘이라는 것을 안 이상 거기에 해당하는 매직넘버를 이용해서 푸는 것이 가장 적합하다 간단한 문제이지만 구글링이 아니면 결코 풀 수가 없는 문제이다
드림핵 tmitter 가설 1 sign in 할 때 우회할 수 있는 방법이 있다 >char 32를 넘어가서 다르게 넣을 때 실질적으로 다른 admin을 같게 인식하는 취약점 이용 ​ 가설 2 sign up 할 때 admin으로 교묘하게 바꾸어서 sign up 할 수 있는 방법이 있다 ​ 가설 3 그냥 일반적인 login을 한 이후에 xss를 통해서 admin을 얻을 수 있다 ​ 위에 나오는 것처럼 여러 가지 공격벡터를 생각했다 실제 웹사이트에서는 굉장히 많은 공격 벡터가 발생할 수 있다 다만 이 문제에서는 자세히 보면 char 과 join with라는 내용이 나오는데 나는 이 굉장히 중요한 힌트를 놓침으로써 어떤 가설에 무게추가 치우치는지 완전히 놓쳤다고 볼 수 있다 이 문제에서 원했던 것은 admin으로 sign up하라는..