목록분류 전체보기 (293)
의미없는 블로그
환경 설치 : https://saltlee.tistory.com/69 PoC : https://paper.seebug.org/1025/ 만들기 - 파일첨부[+] - 파일과 그림 삽입 - 웹에서의 그림 - [/packages/../web.xml] - 삽입 - 출판 출판 했을 때 src 를 아래와 같이 수정 작성한 글에서 [Word로 내보내기] 클릭 응답값에 web.xml 출력된다
코드 작성 win() 함수를 불러서 code flow successfully changed 가 출력되면 되는데 저번에 fp() 처럼 win() 주소를 불러줄만한게 안보인다 그래서 main() 이 실행되고 난 다음에 return 할 때 주소를 바꿔서 win() 주소로 가도록 하면 됨 스택에서 buffer 가 젤 위에 있으니까 buffer 에 글자 많이 넣어서 RET 까지 덮어쓰게 하면 된다 main() ...............↗.....................↘............... RET buffer[64] -------------- RBP(EBP) -------------- RET -------------- 컴파일 해주고 gdb 로 실행해서(gdb ./stack4) ret 주소 확인하고 ..
VM 에서 테스트 환경 구축하고 포트포워딩 해서 다른 PC 에서 접속하기~ Docker 에서 IP(192.168.19.138)랑 포트(32768) 확인하고 https://192.168.19.138:32768 로 접속하면 잘 들가진다 로컬 CMD 에서 아래 명령 입력 [netsh interface portproxy add v4tov4 listenport=로컬에서 접속할 포트 listenaddress=로컬 아이피 connectport=VM 포트 connectaddress=VM 아이피] 저것만 하면 안되고 방화벽에서 열어줘야 한다 인바운드 - 새 규칙 클릭하고 아래와 같이 규칙 만든다 이제 로컬 IP 로 접속 테스트 해본다~ 로컬 IP 확인하고 https://150.24.95.134:32768 로 접속하면 잘..
코드 작성 아래 포인터에 대한 설명을 보면 알 수 있듯이.. int (*fp) () 는 그냥 fp 라는 포인터이다 스택에는 아래처럼 쌓이는 거고 fp = 0 으로 선언되어 있는데 if(fp) 일때 fp(); 로 포인터 값을 부르니까 fp 가 0 이 아니도록 덮어씌워주면 된다 buffer[64] --------------- *fp --------------- 문제는 win() 함수가 호출되어져서 code flow successfully changed 가 출력되어야 하는데 win() 함수를 호출하려면 fp 포인터가 win() 함수를 가리키고 있는 상태에서 fp() 가 호출되어지면 된다 그러므로 fp 포인터를 덮어씌우되 win() 함수를 가리키는 주소값으로 덮어씌워야 한다 컴파일을 하고.. (gets 함수에 ..
참고 : https://hub.docker.com/r/hmlio/vaas-cve-2014-0160 PoC : https://github.com/sensepost/heartbleed-poc $ docker pull hmlio/vaas-cve-2014-0160 : 이미지 다운로드 $ docker images : 이미지 확인 $ docker run -it -d -P --expose="443" --name heartbleed hmlio/vaas-cve-2014-0160 /bin/bash : 컨테이너 생성 $ docker start heartbleed : 컨테이너 시작 $ docker exec -u 0 -it heartbleed /bin/bash : 컨테이너 들어가기 # service apache2 start :..
코드 작성~ modified 가 0x0d0a0d0a 일때 풀린다 마찬가지로 buffer 로 덮어씌워서 0x0d0a0d0a 로 만들어 주면 되고 strcpy(buffer, variable) 을 보면 buffer 값은 variable 에서 가져오는데 variable 는 getenv("GREENIE") 에서 가져옴~ (getenv 는 환경변수 값 불러오는 거라고 함 GREENIE 라는 환경변수에서 값을 불러온다는 뜻) gcc 로 컴파일 하고 실행(./stack2) 해보면 GREENIE 환경변수 세팅하라고 뜬다 [export GREENIE='AAAAAA'] 로 환경변수 세팅해 주면된다 다시 실행해보면 아까처럼 메세지는 안뜨고 이제 문제 풀면 됨~ 저번꺼 처럼 직접 거리 계산해서 푸는 방법으로 하면.. [cmp ..
칼리에서 코드 작성한다~ 지난번과 같이 스택 구조는 아래와 같고 char buffer[64] ------------------ int modified → 0 ------------------ modified = 0 인 상태고 modified 가 0x61626364 일 때 풀린다 buffer[64] 에 글자 많이 집어넣어서 덮어쓴담에 modified 위치에서는 0x61626364 로 덮어쓰면 된다~ 마찬가지로 gcc 에 옵션써서 컴파일 하고 실행해 본다 소스코드에 if(argc == 1) 로 인자가 1개면 에러내고 있어서 다음 인자를 넣어줘야 돌아간다 argv[0] = ./stack1 argv[1] = 1234 소스코드에 strcpy(buffer, argv[1]); 을 보면 strcpy 함수로 인자값 받아..
Burp Helper 가 좋은점은 가끔 프록시 사용 못하게 탐지하는 사이트 있으면 Cooxie 는 우회 안되는데 Burp Helper 로 프록시 켜면 그냥 되는 경우 있다.. 1. https://github.com/NELpos/burphelper 에서 파일 다운로드 2. Extender - Options - Python Environment - Select file 에서 jython-standalone-2.7.0.jar 파일 선택 3. Extender - Extensions - Burp Extensions - Add 하여 BurpHelper_v1.22.py 파일 추가 4. 정상적으로 추가되면 자동으로 BurpHelper 탭 생성된다 5. 프록시 서버 등록 6. 이제 브라우저 옵션에서 프록시 설정 안..