War Games/Lord of SQLInjection
[LOS] Level8: orge
Lord Of SQLInjection: lv.6 orge vampire입니다. 보면 이제 싱글쿼리를 사용하지못하고 ( '
War Games/Lord of SQLInjection
[LOS] Level8: orge
Lord Of SQLInjection: lv.6 orge vampire입니다. 보면 이제 싱글쿼리를 사용하지못하고 ( '
War Games/Lord of SQLInjection
[LOS] Level7: troll
Lord Of SQLInjection: lv.6 troll 단순히 DB에 대한 문제입니다. 보면 admin이라는 문자열을 못쓰게 만들어놓았는데, 이걸 검사하는 언어체계는 sql입니다. 반면에 id와 말 그대로 database를 끌고오는게 DB인데, 이 DB상에서는 대문자와 소문자를 구분하지 못합니다. 따라서 admin에서 어떤 글자든 대문자로 바꾸어 입력해주면 문제를 풀 수 있습니다. https://los.rubiya.kr/chall/troll_05b5eb65d94daf81c42dd44136cb0063.php?id=AdMiN too EZ
War Games/Lord of SQLInjection
[LOS] cheat sheet(이스터에그)
보호되어 있는 글입니다.
War Games/Lord of SQLInjection
[LOS] Level6: orge
Lord Of SQLInjection: lv.6 orge orge입니다. or 또는 and를 사용하면 안되네요. or과 and는 각각 ||와 &&를 이용하면 우회 가능합니다. Hello admin까지는 출력하였고, 이 스테이지를 해결하는 조건이 pw를 알아내야 하므로 이는 python코드로 알아냅시다. import httplib headers = {'Content-Type':'application/x-www-form-urlencoded', 'Cookie':'PHPSESSID=ti3sc786arte8880jt3bjk2kt3'} conn = httplib.HTTPSConnection('los.rubiya.kr', 443) pw='' for i in range(10): for j in range(32, 128..
War Games/Lord of SQLInjection
[LOS] Level5: wolfman
Lord Of SQLInjection: lv.5 wolfman wolfman입니다. pw를 입력받으며, id가 admin이며 빈칸이 있으면 안됩니다. whitespace는 hex값으로 %20인걸로 알고있는데 이를 %09~%0a로 바꿔서 입력하면 됩니다. https://los.rubiya.kr/chall/wolfman_4fdc56b75971e41981e3d1e2fbe9b7f7.php?pw=%27%0aor%0aid=%27admin%27%23 끝!
War Games/Lord of SQLInjection
[LOS] Level4: orc
Lord Of SQLInjection: lv.4 orc orc입니다. pw를 입력받아서 admin의 비밀번호와 같은지 비교해 문제를 푸는 방식의 los네요. 이 경우에는 전수조사를 통해 비밀번호를 한글자씩 알아내야하는데, 저는 python코딩을 이용했습니다.(ver.2.7.15기준) import httplib headers = {'Content-Type':'application/x-www-form-urlencoded', 'Cookie':'PHPSESSID=h8vk5n8gafml7kmsgv87809itt'} conn = httplib.HTTPSConnection('los.rubiya.kr', 443) pw = '' for i in range(10): for j in range(32, 127): conn.r..
War Games/Lord of SQLInjection
[LOS] Level3: goblin
Lord Of SQLInjection: lv.3 goblin goblin입니다.
War Games/Lord of SQLInjection
[LOS] Level2: cobolt
Lord Of SQLInjection: lv.2 cobolt cobolt입니다.
War Games/Lord of SQLInjection
[LOS] Level1: gremlin
Lord Of SQLInjection LOS시작! 저기 enter to the dungeon 클릭하면 처음이면 join, or login합시다 우선 첫번째 단계인 gremlin단계에 들어가면 다음과 같은 페이지가 뜹니다.
War Games/pwnable.kr
[pwnable.kr] flag (7 pts) :: Write-Up
Papa brought me a packed present! let's open it. Download : http://pwnable.kr/bin/flag This is reversing task. all you need is binary 리버싱 문제라고 하네요. 일단 파일을 받아서 까봅시다. malloc한후 그곳에 flag를 넣어놓는다고 하네요. gdb로는 얻어지는게 없으니 아이다로 봅시다. 근데 아이다로 열어보니까 수상합니다. 함수도 얻어지는게 없고, 어셈블리어 코드를 봐도 이상한게 너무 많네요. 이 문제를 풀면서 공부한 것이 꽤 있는데, 일단 reversing문제로 접근할 때는, 어떤 언어로 작성되어있는지, packing이 되어있는지 여부를 보는 것이 중요하다는 것을 알게되었습니다. 따라서 언어 확..
War Games/pwnable.kr
[pwnable.kr] bof(5 pts) :: Write-Up
Nana told me that buffer overflow is one of the most common software vulnerability. Is that true? Download : http://pwnable.kr/bin/bof Download : http://pwnable.kr/bin/bof.c Running at : nc pwnable.kr 9000 우선 코드를 봅시다. #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..
War Games/pwnable.kr
[pwnable.kr] collision(3 pts) :: Write-Up
Daddy told me about cool MD5 hash collision today. I wanna do something like that too! ssh col@pwnable.kr -p2222 (pw:guest) col@prowl:~$ ls col col.c flag col@prowl:~$ nl col.c 1#include 2#include 3unsigned long hashcode = 0x21DD09EC; 4unsigned long check_password(const char* p){ 5int* ip = (int*)p; 6int i; 7int res=0; 8for(i=0; i