본문 바로가기

전체 글

(171)
[pwnable.tw] dubblesort 보호되어 있는 글입니다.
[pwnable.tw] calc 보호되어 있는 글입니다.
[pwnable.kr] md5 calculator 보호되어 있는 글입니다.
[pwnable.kr] echo1 보호되어 있는 글입니다.
[pwnable.kr] brain fuck 보호되어 있는 글입니다.
[pwnable.kr] unlink 12345678910111213141516171819202122232425262728293031323334353637383940414243#include #include #include typedef struct tagOBJ{ struct tagOBJ* fd; struct tagOBJ* bk; char buf[8];}OBJ; void shell(){ system("/bin/sh");} void unlink(OBJ* P){ OBJ* BK; OBJ* FD; BK=P->bk; FD=P->fd; FD->bk=BK; BK->fd=FD;}int main(int argc, char* argv[]){ malloc(1024); OBJ* A = (OBJ*)malloc(sizeof(OBJ)); OBJ* B = (OBJ*)m..
Stack protector use Pintools #include int main() { char buf[100]; printf("Plz input >> \n"); fflush(stdout); read(0, buf, 1024); printf("%s\n", buf); return 0; } //gcc -o test test.c -fno-stack-protectorUbuntu 16.04 64bit #include #include #include #include "pin.H" using namespace std; FILE *fp = NULL; #define START 0x4005f6 #define END 0x400644 static UINT16 _tabAddr[0x10000]; static std::string _tabStr[0x10000]; static si..
[SCTF 2018] dingJMax main 보면 윈도우 창을 만들고 여러 rule을 넣는다. 앞에서 "qN7BuRx4rElDv84dgNaaNBanZf0HSHFjqOvbkFfgTRg3r" 라는 임의의 Flag 값을 넣어두고 이 부분에서 리듬게임 입력값에 따라 연산을 진행한다. 이 부분을 보면 특정 연산이 v16와 같을 경우 반복문을 도는데 이 코드의 의미는 리듬게임 1칸(4줄) 이 내려오게 해주는 부분이다. 또한 밑 부분에서 누른 타이밍에 따라 perfect, great, miss 로 나뉜다.처음엔 코드 제데로 안보고 perfect만 나오게 코드수정하고 점수 채워봤으나 역시 안됐다..또한 버튼을 누를 때 마다 플래그가 바뀌는 장면을 볼 수 있는데, 사실 Flag에 영향을 미치는 요소는 딱 2가지다.perfect(타이밍), ball의 순서즉..