-
0x27.Whitehat Quals 2017 - hacking_team_manager0x.CTF 2018. 11. 29. 17:19
0x27.Whitehat Quals 2017 - hacking_team_manager 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/hacking_team_manager 동아리 내부 워게임에 C++ 문제는 나중에 풀려고 미루고 미루고 또 미루다가 이제는 풀어야된다 싶어서 잡은 바이너리였다. 역시 C++은 분석이 너무 싫다. 바이너리가 생각보다 커서 꽤 오랜 시간을 분석에 할애하였다. Main 함수를 보면 메뉴가 1,2,3이 존재하고 메뉴를 호출하기 전에 sub_12D0가 호출이 된다. 해당 부분에서는 큰 구조체에다가 다음의 문자열을 가리키는 포인터를 담는다. 그리고 사용자에 대한 nick_name과 team_name에 대한 정보를 입력받고 al+328의 위치..
-
0x39.webhacking.kr - 280x.Wargame/WebHacking.kr 2018. 11. 26. 22:43
0x39.webhacking.kr - 28 아주 오랜만에 건드려보는 웹케알. 문제를 보니 파일 업로드를 통해서 index.php안에 있는 정보를 보는 문제인 것 같다. 웹알못인 내가 봐도 이 문제는 web shell을 올리는 문제일 것이라고 추측을 할 수 있었다. 위의 링크로 들어가니 read me가 출력될 뿐 별다른 건 없어보였다. 아무 파일이나 올려보니 .htaccess라는 힌트를 볼 수 있다. 이 놈은 하이퍼텍스트 액세스라는 놈인데 웹 서버의 구성을 분산 관리하기 위해 디렉터리 수준의 설정 파일을 가리킨다고 한다. 해당 파일안에 설정을 넣어서 공격이 가능한데 크게 2가지 정도가 존재하였다. AddType application/x-httpd-php .txt.txt 확장자를 php파일로 실행하도록 하는..
-
0x09.How2heap - house_of_einherjar0x.Heap Tutorial 2018. 11. 22. 00:51
0x09.How2heap - house_of_einherjar 진짜 오랜만에 작성하는 듯하다. 근데 매 글의 윗 부분에 이 내용이 있긴 하지만.. combination을 풀겸해서 복습이닷. #include #include #include #include #include /* Credit to st4g3r for publishing this technique The House of Enherjar uses an off-by-one overflow with a null byte to control the pointers returned by malloc() This technique may result in a more powerful primitive than the Poison Null Byte, b..
-
0x26.WITHCON 2017 - combination0x.CTF 2018. 11. 22. 00:29
0x26.WITHCON 2017 - combination 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/combination 멋모르고 풀 때 엄청 어려웠던 문제, 지금 보니 정석 처럼 오히려 잘 보이던 문제. 푸는 방식이 꽤 존재하는데 그 중에서 출제자 형의 의도인 house_of_einherjar로 풀어보기로 하였다. 사실 기억에 의하면 바이너리가 c++인 줄 알았는데 다행히 c여서 금방 분석이 가능했다. 바이너리는 PIE가 걸려있고, NX, ASLR이 다 걸려있다. 어쨋든.. 메인 함수를 보면 1,2,3,4,5 및 46 옵션이 존재한다. 가장 먼저 malloc 옵션을 들어가면 사용자로부터 size값을 입력받는데 그 크기는 144 ~ 512 사이이다. 해당..
-
-
0x01.Django SSTI0x.Web 2018. 11. 21. 12:22
0x01.Django SSTI 템플릿 렌더링을 잘못 사용하였을 경우에 발생{ 2*2 } 와 같은 값을 넣어 해당 결과가 어떻게 출력되는지를 확인함으로써 가능성을 판단 settings.py 의 변수에 접근하는 2가지 방법 {user.groups.model._meta.app_config.module.admin.settings.SECRET_KEY} {user.user_permissions.model._meta.app_config.module.admin.settings.SECRET_KEY} 해당 방식은 장고 프레임워크의 특성상 models.py를 거치기 때문에 결국 연결고리가 존재하기 마련. 최근에는 패치된 취약점..
-
0x00.(Windows)ALmind Lite 1.3 Exploit0x.Exploit 2018. 11. 10. 16:29
0x00.(Windows)ALmind Lite 1.3 Exploit 윈도우 익스플로잇을 공부할 겸, 1-day 익스를 하나씩 작성하기로 하였고, 제일 첫 번째 포스팅은 스택 오버플로우로 정하였다. 환경은 Windows8에서 진행하였고, 프로그램은 한참 전에 나온 Almind Lite 1.3 버전이며 다음과 같은 크래시로 진행을 하였다. 가장 먼저 crash가 나온 6cd82..emm 파일을 실행시켜보았다. 프로그램이 위와 같이 아주 잘 죽는다. 이제 report를 통해서 어떤 종류의 크래시인지를 확인해보자. Access violation (second chance) at 0x616d2f73 Security risk level: Exploitable Access violations at the inst..
-
0x25.SSG - easy_linux_reversing0x.CTF 2018. 11. 9. 20:34
0x25.SSG - easy_linux_reversing 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/easy_linux_reversing 포너블만 풀다가 쉬어갈겸 잡았다가 하드코딩하면서 한 글자를 빠뜨려 꽤 오랜시간 의미없는 삽질을 했던 문제이다. 문제는 간단하다. 사용자로부터 입력을 받고 해당 입력의 길이에 따라 인코딩 루틴을 진행한다. 사용자로부터 입력받는 문자열과 길이에 따라 값이 변경되니 decode_it.txt의 문자의 개수만큼 for문을 돌리며 s[i]을 역연산 하는 방식으로 진행하였다. 익스플로잇 코드v8 = ['C', 'f', 'D', 'Z', 'q', 'B', 'r', 'p', 'R', 'W', 'j', '1', 'z'] test = [2..