일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- hacking
- 선린인터넷고등학교
- webhacking
- nefus
- 버그바운티
- 네퓨즈
- wargame.kr
- 코드게이트
- 프로그래밍
- CTF
- 블록체인
- 자료구조
- WarGame
- 웹해킹
- 보안
- DVP
- 정보보안
- 포렌식
- 문제풀이
- 정보보호
- xcz
- 워게임
- C언어
- 해킹
- Pwnable
- webhacking.kr
- kangsecu
- 포너블
- 시스템
- 버그헌팅
- Today
- Total
목록포너블 (6)
kangsecu's B1og
이번에는 libc가 같이 제공이 안될경우 libc를 찾아서 문제를 해결하는 방법에 대하여 알아보자. libc-database 다운 : $git clone https://github.com/niklasb/libc-database.git libc data 다운 : library download / pwd : libc-database > $./get 사용법 : 1. 함수로 libc 파일 찾기 : ./libc-database/find/ [함수이름] [함수주소] 2. 함수 offset 찾기 : ./libc-databse/dump [id] [함수 이름] 3. ./libc-database/find/ [함수이름] [offset 3 bytes] function_addr = libc-base_addr + offset인데 ..
One_gadget이란 하나의 가젯만을 이용해서 쉘을 딸 수 있는 가젯이다.got overwrite를 할 경우 많이 사용되며 /bin/sh을 립시 파일 내에서 실행하는 가젯이다. one_gadget install : > apt install ruby > gem install one_gadget 사용법 : one_gadget "libc file" ex) one_gadget /lib/x86_64-linux-gnu/libc.so.6
이번에는 조금 팁? 같은 거다. 뭐 plt나 got를 주소를 알 수 있지만, 우리가 보는 여러 가지 함수들의 이름도 메모리 내에 적재되어 있기 때문에 이를 이용해서 공격을 진행하는 것이다. 그중 .dynstr 섹션의 함수들의 네이밍을 보면 여러 가지 문자열로 이용할만한 것들이 있다. 예를 들어서 가장 많이 사용하는 것은 /bin/sh 같은 걸 사용할 수 없을 때 fflush함수 등에서 sh를 가져다 사용하는 것이다. 이걸 system인자로 넘겨서 sh을 사용할 수 있게 된다.
드디어 rop를 정리한다. 공부해가면서 계속해서 내용을 추가할 예정이다. 이전 내용 복습 - 간단하게 RTL Chaining을 훑고 가보자. RTL Chaining은 RTL을 pop ret을 이용해서 여러 함수의 호출을 연계하는 것이다. 예를들어 read함수를 이용하여 bss영역에 /bin/sh을 입력하고 이를 system함수의 인자로 넘겨주기 위해서는 dummy + sfp + read@plt + pop pop pop ret Gadget + 0x0 + &bss + 0x8 + system@plt + pop ret Gadget + &bss 이렇게 페이로드를 구성하고 read는 0일때 표준입력이니까 이를 이용해서 bss에 /bin/sh을 넘겨주면 된다. - bss영역을 조회할때는 아이다로 보거나 readelf..
1. bof_pie binary : main은 볼게 없다. 들어가자마자 welcome이 실행됨 welcome : j0n9hyun : 대충 페이로드가 생각이났다. 근데 PIE가 걸려있어서 base주소로 할 수가없다. 그러므로 welcome_addr에서 welcome_offset을 빼서 base_addr을 구하고 거기에 j0n9hynun_offset을 더해서 j0n9hyun을 실행시킬 것이다. exploit : 2. yes or no binary : 3. RTL_world binary : NX가 있으니가,, RTL 을 하자 > 그냥 문제 이름도 RTL이다. main : 이 부분에서 bof가 발생하고 우린 여기서 rtl을 해주면 된다. exploit : 바이너리를 확인해서 dummy(144) + sys_add..
이번에는 2017 .07.29 ~ 2017.07.30 일동안 진행된 H4C ctf 에 write up을 올려보도록 하겠습니다. 우선 필자는 해당 ctf에서 최종10등을 하였으며 해킹을 시작한지 얼마 되지 않은 뉴비 입니다. 그러므로 write up에 한계가 있을 수 있으며, 사실 너무 쉬운 문제들만 풀어서 write up 이라고 하기에도 애매한점을 말씀드립니다.만약 해당 write up에 잘못된 정보나 에러사항이 있을 경우 피드백을 해주시면 감사하겠습니다. 해당 ctf는 팀전으로 진행되었으며, 각자 팀수는 4명에서 6명까지 있었으나 저희팀은 디지털미디어고등학교 해킹방어과 2명 , 선린인터넷고등학교 정보보호과 1명 이렇게 세명에서 문제를 풀었습니다. 이제 본론으로 들어가도록 하겠습니다.해당 사진은 대회종료..