Pwnable.kr(18)
-
pwnable.kr - mistake
pwnable.kr mistake문제입니다. 먼저 소스코드부터 확인해보겠습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include #include #define PW_LEN 10#define XORKEY 1 void xor(char* s, int len){ int i; for(i=0; i
2018.08.20 -
pwnable.kr - coin1
후 방금 막푼 따끈따끈한 coin1문제 ㅠㅠ알고리즘에 약한나는 열심히 3시간동안 삽질을...별거없습니다 코인무게재서 이상한무게를가진거 하나 찾으면됩니다! ㅎㅎ고로 제가 보여드릴자료는 코딩한 그게 전부군요...ㅠ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051from pwn import * r = remote("pwnable.kr", 9007)divnum = 2def cal(num, result, divnum, a, b, flag) : payload = "" if (int(result)%int(10) == int(9)) : startnum = a elif (int(result)%int(1..
2018.08.19 -
pwnable.kr - bof
세번째 pwnable.kr 문제풀이군요.중간중간에 다른문제들 풀다와서 풀이가 많이 느린 것 같습니다 :) 먼저 문제를 확인하면 소스코드하고 파일 하나를 주는군요. 12345678910111213141516171819#include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0xcafebabe){ system("/bin/sh"); } else{ printf("Nah..\n"); }}int main(int argc, char* argv[]){ func(0xdeadbeef); return 0;} Colored by Color Sc..
2018.08.19 -
pwnable.kr - random
pwn.kr random문제입니다.소스코드를 보면 random값하고 제가 넣은 input하고 xor연산을 통해서 deadbeef와 같으면 flag를 줍니다. 그럼 random값만 알게된다면 쉽게 풀 수 있습니다.random값을 알기위해서 ltrace명령어를 사용합니다. python으로 xor연산을 하면? 그대로 입력하면?(grin)
2018.08.16 -
9. LOS - vampire
vampire문제입니다. str_replace명령어가 admin을 공백으로 변환하는 함수이니두가지 방법으로 풀 수 있습니다1. admin을 2번넣어주어서 사이를 공백으로 비워서 adadminmin->ad+""+min이 되게끔하기 2. ADMIN을 대문자로 넣어주셔서 그냥 프리패스하기! 페이로드입니다. 12345678910111213141516171819202122232425import requestsimport string URL = "http://los.eagle-jump.org/vampire_0538b0259b6680c1ca4631a388177ed4.php"payload = "?id=adadminmin"URL += payload cookies = dict(PHPSESSID = "dvs710ccqajr..
2018.08.06 -
pwnable.kr - collision
먼저 코드부터 확인해보면 다음과 같습니다. 프로그램상 실행하면서 인자값으로 데이터를 전달받기때문에 값은 인자로 넘겨주면될 것 같습니다. 조건1 : 인자1개이상 넣어주기조건2 : 길이 20byte로 맞추기조건3 : hashcode와 함수를 통과한 넣어준 값일치하게하기 함수를 보면 인자로 받은 값을을 4byte씩 끊는 것을 볼 수 있습니다. 이렇게 총 5번을 나눠서ㅁㅁㅁㅁ/ㅁㅁㅁㅁ/ㅁㅁㅁㅁ/ㅁㅁㅁㅁ/ㅁㅁㅁㅁ이렇게 만들고 이거를 배열로 가정하였을때[0] + [1] + [2] + [3] + [4] = hashcode가 되어야합니다. 그럼 hashcode를 5로 나누면 될 것 같습니다.이대로 exploirt코드 작성해서 익스해주면?? 왜 안되지...라고 생각했는데 프로그래머계산기는 나머지를 버릴수밖에 없어서 21..
2018.08.03