전공쪽

1. " " 를 해주면 된다. " 때문에 스크립트문이 동작하게 된다. 2. 비슷하지만 onclick=alert() 으로 해결해주었다. 3. 가 &lt, &gt로 변환된다. 옆에있는 choose country form을 input으로 바꾸면 해결이 가능하다. 4. hidden 속성으로 되어잇는 요소를 보이게 해주고 ">
페이지의 소스코드이다. Playlist Playlist "All the songs on my playlist were legally downloaded" title name date time will not go home without youmaroon52008/02/26351i love youtaeyeon2010/12/13322what makes you beautifulone direction2011/11/29318why so serious?shinee2013/04/29340you will never knowariana grande2014/09/02334text me merry christmasstraight no chaser2014/11/17241when you hold me tightyael may..
먼저 4번 write up 이다. 다음과 같은 쿼리를 통해서 pw를 맞추어야 하는 것 같다. Error based 라는 점을 알아내서 비밀번호 길이를 얻어냈다. 비밀번호는 13자이다. 이를 이용해서 password를 전부 때려 맞추겠다. password를 알아냈다. 일단은 이게 맞는지는 모르겠지만 풀었다고 하니 맞는 것 같다. 3번 write up 이다. 몇가지 테스트 결과 benchmark , sleep, #이 막혀있다는 것을 알 수 있었다. 그런데 #은 --으로도 대체가 가능하니까 상관없는데 문제는 sleep 계열이다. 다 막혀서 heavy query를 사용해주기로 했다. 이렇게 pw길이는 12라는 것을 알아냈고 브루트포싱 하면 된다. 아래코드를 작성했다. timeout 을 이용해서 진행하였다. 저 ..
starbound 문제의 writeup 이다. 보호기법은 다음 사진과 같다. 이 문제는 매우 크고 방대하기 때문에 자세한 분석은 하지 않았다. 세세한 기능은 파악하지 않고 취약점만 찾았다. 취약점 int __cdecl main(int argc, const char **argv, const char **envp) { int v3; // eax char nptr; // [esp+10h] [ebp-104h] init(); while ( 1 ) { alarm(0x3Cu); dword_805817C(); if ( !readn(&nptr, 0x100u) ) break; v3 = strtol(&nptr, 0, 10); if ( !v3 ) break; ((void (*)(void))dword_8058154[v3])()..
예전에 상당히 재미있게 봤었었는데.. ㅎㅎ 문제는 간단하다. 딱히 분석은 없다. 너무 단순해서 NX가 없고, got부분을 네가 작성하는 쉘코드의 주소로 덮어쓸 수 있다. 따라서 내가 작성한 쉘코드를 실행하는 문제이다. 중간에 글 쓰다가 날라갔다. 이 문제는 나에게 있어서 나쁜 기억만 심어주었다. 당연히 char*str={"/bin/sh",0}; execve(str[0],str,0); 으로 쉘코드 작성하면 될줄 알았는데 32bit에서는 execve("/bin/sh",0,0) 이다. 너무 짜증나니까 내 코드를 가져가세요 from pwn import* p=process('./death_note') context(os="linux",arch="i386") p=remote('chall.pwnable.tw',102..
Level 1 매우 간단한 XSS 문제이다. alert을 띄우는 것이 목표인데, 아무런 검증을 하지 않아서 를 해주면 '1'이 알림창으로 뜬다. Level 2 이번에는 태그가 필터링 되어서 OnClick 핸들러를 이용했다. 버튼을 만들어서 핸들러를 달아주었다. 눌러 Level 3 코드를 보고 취약점을 찾을 수 있었다. SQL Injection 비슷하게 작동하는 것 같다. 인자로 1.jpg"' OnClick="alert('1')"/> 를 주어서 html 변수가 만드는 img 에 OnClick 핸들러를 넣어주었다. Level 4 startTimer 에 들어가는 변수인 timer의 내용을 우리 마음대로 주무를 수 있다. 그래서 화면에 나와있는 것 같이 인자를 구성해서 보냈다. 그런데 ; 를 쓸 때 sql in..
하.. 진짜 단순한 바이너리라도 분석을 제대로 안하면 어떤 꼴이 나는지 볼 수 있었던 문제인데.. 일단 바이너리를 보자. void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) { __int64 v3; // rax unsigned int v4; // [rsp+Ch] [rbp-4h] initialize(); printf("Name:", a2); read_Str((__int64)&name, 0x20u); v4 = 0; while ( 1 ) { while ( 1 ) { menu(); v3 = read_int(); if ( v3 != 2 ) break; if ( v4 2 ) { if ( v3 == 3 ) { print_name(); } else { ..
환경은 libc 2.29이기 때문에 ubuntu 20.04 에서 실습하였다. heap 문제가 partial relro 이다. 이건 귀하군요... 그리고 푼사람도 점수에 비해 매우 적다. 이 문제를 풀기에 앞서 2.29 이상에서 tcache의 변경점을 간단하게 정리할 필요가 있다. 변경점이라고 해봤자 double free가 안된다는 것이다. size검사 안하는건 똑같다. 2.27에선 아주 좋은 놈이였지만 2.29 이상에서는 해당사이즈의 tcache 전체를 돌면서 검사를 하기 때문에 fastbin 과 같은 double free도 안된다. 그러나 우회 방법이 있다. 1. free 된 청크의 bk를 변조하기 2. 사이즈를 변조하기이다. 3. fastbin 쓰기 4. tcache와 fastbin에 동시에 free..
OSOR2
'전공쪽' 카테고리의 글 목록 (2 Page)