목록읭? (68)
R4mbb

libc 버전이랑 ld 버전 맞추는 방법이다. 아직 많이 써보지 못해서 사용해보다가 다르다 싶으면 수정할 예정. 제공되는 libc나 도커 환경 주면 도커에서 libc 빼온 다음에 실행하면 버전이 나온다. 박스 부분 복사 해서 구글링. "Ubuntu GLIBC 2.23-0ubuntu11.3 libc6 dbg"다운 해서 설치 하면된다.dpkg -x ./libc6-dbg_2.23-0ubuntu11.3_amd64.deb ./ 이렇게 바이너리 라이브러리 버전에 맞는 로더를 가져올 수 있다.아니면 https://github.com/matrix1001/welpwn/tree/master/PwnContext/libs/ld.so 여기서 libc 해시값에 맞는 로더가 있으면 바로 받아도된다. 바이너리에 연결은 patch..

WordPress에 존재하는 Plugin 중 Meow-Gallery 라는 플러그인에서 XSS 취약점을 발견했다.발견한 취약점은 CNA인 PatchStack에 리포트를 제출 했고, 현재 결과를 기다리는 중이다. 아래는 해당 플러그인에서 취약점이 발생하는 과정이다. 먼저, 해당 플러그인은 설정에 따라 갤러리 부분과 포스트를 작성할 때 사진 등에 관여하는 플러그인이다. 해당 플러그인의 Captions를 Always 혹은 on hover 로 변경해주면 포스트에 사진을 넣을 때 작성한 캡션이 프론트에 노출이 된다. 여기서 취약점이 발생했다. 샘플 이미지를 갤러리에 업로드하고 Caption 부분에 XSS 스크립트를 작성해주면 해당 사진이 로드되는 페이지는 모두 영향을 받게된다. 필터링이 몇가지 있었지만 우회 가능..

sudo apt install gcc ruby-dev && sudo gem install seccomp-tools

Ubuntu 20 ~ 22 ** 주의사항우분투 설치 시에 깔리는 기본 python3를 삭제하고 apt autoremove를 하면 이상한 종속성 lib 까지 삭제 될 수 있으니 주의. ** 설치sudo add-apt-repository ppa:deadsnakes/ppa -ysudo apt update# python 3.10sudo apt install python3.10 python3.10-venv python3.10-dev -y# python 3.11sudo apt install python3.11 python3.11-venv python3.11-dev -y# python 3.12sudo apt install python3.12 python3.12-venv python3.12-dev -y# 이후 설치된..
ubuntu 기준 apt 설치로 구버전이 설치 됨. ** gdb 설치하기 전에 python 버전을 올리는게 좋음.python 구버전으로 빌드하게 될 경우에 gdb가 구버전 python만 찾게 됨.아래 글에서 파이썬 수정 후 빌드하길 바람.https://r4mbb.tistory.com/50 python 버전 설치&변경Ubuntu 20 ~ 22 sudo add-apt-repository ppa:deadsnakes/ppa -ysudo apt update# python 3.10sudo apt install python3.10 python3.10-venv python3.10-dev -y# python 3.11sudo apt install python3.11 python3.11-venv python3.11-dev ..

맨 아래 부분에서 argv[] 를 모두 초기화 시켜버린다... 일단 gdb로 보면서 포인트를 찾아보자. 메모리 끝자락으로 가니 실행파일의 절대경로가 저장되어있다. 프로그램 코드상에서 argv를 지워도 메모리에는 남는 모양이다. 공격벡터로 써먹자. 먼저, 파일이름에 쉘코드를 박고 불러와서 쉘을 따는 순서로 하면 될 것 같다. 쉘코드에 \x2f가 없어야한다. \xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81 이 친구를..
ASLR (Address Space Layout Randomization) : 라이브러리, 힙, 스택 영역 등의 주소를 바이너리가 실행될 때마다 랜덤하게 바꿔 RTL과 같이 정해진 주소를 이용한 공격을 막기 위한 보호 기법이다. /proc/sys/kernel/randomize_va_space 의 파일의 값을 바꿔주면 된다. 0 : ASLR 적용해제 1 : 스택, 힙 메모리를 랜덤화 2 : 스택, 힙, 라이브러리 메모리를 랜덤화 -> 바이너리 코드 영역의 주소는 변하지 않기 때문에 ASLR 보고 기법을 우회하여 익스를 할 수 있다. --- 계속 할수도

이전 문제까지는 0xbfff 로 시작되는 주소를 넣었었지만 이번 문제에서는 주소의 시작이 0xbf가 되어야 하고, 그 다음 0xff가 되면 안된다. 그렇다면, 0xbffeffff 보다 아래 주소로 매핑하면 될 것 같다. 먼저, 주소값 계산을 해보자. 0xbfffffff - 0xbffeffff = 0x10000 ( 65536 ) 이렇게 NOP을 주고 스택을 매핑하면 스택(ebp)은 0xbffeffff 보다 낮은 주소부터 매핑이 된다. 익스를 해보자. NOP이 많이 들어갔기 때문에 적당한 곳을 RET 박아주면 쉘이 따이게 된다.