목록2019/02 (26)
White Security
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 Toddler's Bottle 3번 문제입니다. 이름으로 추측할 수 있듯 버퍼 오버 플로우에 관한 문제인데요. netcat 을 사용하여 통신하라고 되어 있네요. 윈도우즈용 netcat은 이곳에서 다운받을 수 있습니다. #include #include #include void func(int key){ char overflowme[32]; pr..
Daddy told me about cool MD5 hash collision today. I wanna do something like that too! ssh col@pwnable.kr -p2222 (pw:guest) Toddler's Bottle 2번 문제입니다. 이전 문제와 마찬가지로 ssh 계정이 주어졌네요. #include #include unsigned long hashcode = 0x21DD09EC; unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i> hex ( 0x21DD09EC - ( 0x01010101 * 4 ) ) '0x1dd905e8' 목표값인 0x21DD09EC에서..
React 사이트를 잘못 설정 한 것 같다고 합니다. 사이트가 주어지는데링크들은 모두 더미 링크로어떤 힌트도 얻을 수 없었습니다. 그러던 중 소스코드에 flag가 하드코딩 된 것을 확인할 수 있었습니다 ;; 더 난독화하거나서버를 통해 인증을 한다거나 했으면 좋았을텐데뭘 해볼것도 없이 소스코드에 그대로 나와있으니씁쓸합니다.
75점의 purvesta 문제입니다.깃허브로 페이지를 호스팅 할 수 있으면 좋겠다고 합니다. 그런데 깃허브에선이미 페이지 호스팅을 하고 있지요? 깃허브 페이지는 기본 도메인이github.io 로 끝난다는 것을 기억해보면 purvesta.github.io 페이지에서자료를 확인할 수 있습니다. 페이지의 링크를 따라가니플래그를 확인할 수 있었습니다.
자바스크립트로 유저를 인증하도록 했다 합니다.링크가 하나 주어지네요. 링크에 접속하면로그인 폼이 하나 보입니다. // reference here // https://api.jquery.com/jQuery.ajax/ // https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/atob // For element with id='name', when a key is pressed run this function $('#name').on('keypress',function(){ // get the value that is in element with id='name' var that = $('#name'); // make an aj..
Das Blog 에서 개선된 문제라고 합니다. 이전과 마찬가지로 로그인 페이지가존재하는 것을 볼 수 있습니다. 폼도 동일하고심지어 완전히 같은 쿼리로플래그를 얻어낼 수 있었습니다. submit=Login&Password=&Username=' union select group_concat(0xa,a,0x3a,b),2 from (select title a,content as b from posts)x;%00
Johnny 가 블로그를 개설했는데입력을 escape 하는 방법을 모르겠다고 합니다. 링크에 접속하면인삿말과 함께 로그인 페이지에 접속이 가능합니다. 로그인 폼은 별다를 것이 없습니다. There was a problem when looking for user. Please try again.Sorry, That Username / Password is incorrect. Username에 싱글 쿼트를 삽입하면 쿼리 오류가 뜨는 듯 한데주석을 넣기 위해 '#', '-' 등 특수문자를삽입하면 검색오류로 바뀝니다. 이것을 보아, 쿼리 검색을 하기 전에지정된 문자가 있는지 확인하고 있다면검색 오류를 뿜고 바로 넘겨버리는 것이 아닌가생각해 볼 수 있습니다. submit=Login&Password=&Usernam..
문제를 보면 '==' 로 끝나는문자열이 하나 주어져 있습니다. base64 문자열이 종종 '=' 로 끝나곤 하죠. 물론 그렇지 않은 경우도 있지만,암호화 방식과 관련이 있습니다. 본래 8비트씩 붙어있던 데이터를 분리해다가6비트씩으로 재결합 하다보니 남는 비트수를 표현하기 위해붙는 것이 '=' 입니다. 자세한 설명은 여기를 참고하시면 되겠습니다. 단순히 데이터의 바이트 수가 3배수가 아니면모조리 '='가 붙는다고 알아두어도 상관은 없습니다. flag{D1d_y0u_d0_th3_Pr3_CTF} base64 복호화를 거치면 플래그를 얻을 수 있습니다.