본문 바로가기

분류 전체보기

(15)
210322 - 3일차 보호되어 있는 글입니다.
210318-2일차 보호되어 있는 글입니다.
210308 1일차 보호되어 있는 글입니다.
웹 취약점/공격기법 정리 웹 해킹을 공부하다 보니 여러 취약점들과 공격 기법들이 머릿속에서 뒤죽박죽 섞여있는 느낌이 들어 알고 있는 것들을 한 번 정리해보는 시간을 가져야겠다 생각해서 이 글을 쓰게 됐다. 그렇기에 다소 내용이 부족한 내용이 있을 수 있다. 정리할 때 dreamhack.io을 주로 참고하고 구글링도 많이 해봤다. 해커들의 놀이터, DreamHack 해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향 dreamhack.io dreamhack.io에서 정말 많은 것들을 배웠다. (이 글은 mysql을 기준으로 설명하고 있다.) 우선 웹 해킹에서는 Client-side Attack과 ..
[TRUST CTF] ezrc 출제자 write up 문제 전체 소스코드이다. 문제의 컨셉은 php정규식과 race condition으로 잡았다. (후에 너무 쉽게 풀리는 것 같아 magic hash를 추가했다.) 문제를 풀기 위해서는 로그인을 해야하는데 이 부분을 보면 magic hash로 if문을 통과해야 times변수에 매우 큰 수를 넣어 race condition을 할 수 있다. 240610708을 md5로 인코딩하면 0e462097431906509019562988736854가 나오는데 == 취약점으로 pw가 0이면 참이된다. ?key=dadadadadadadadadadadadadadaasdcocohehe 이렇게 key를 넘겨주면 php정규식 if문을 통과한다. 그럼 현재 chk를 출력해준다. 그 후 크롬 시크릿 모드를 이용해서 탭을 하나 더 열어준..
los skeleton[10번] 문제다. 문제풀이 조건이 id는 admin이어야 풀린다. if($result['id'] == 'admin') solve("skeleton"); 현재 id를 guest로 설정한 것을 무력하 시킨 뒤 admin으로 다시 설정해주면 된다. 쿼리를 짜주면 ?pw=' or id='admin'이고 뒤에있는 and 1=0를 주석으로 무력화 시켜야 한다. ?pw=' or id='admin'%23이걸 보내주면 풀린다. 풀린다.
los vampire[9번] 문제다. 이번 문제풀이의 조건도 id가 admin이어야 한다. if($result['id'] == 'admin') solve("vampire"); $_GET[id] = str_replace("admin","",$_GET[id]); 이 구문을 보면 admin을 만나면 없애린다. 그렇다면 잘 우회를 해줘야 하는데 admin안에 admin을 넣어 admin을 없애면 admin이 나오게 한다. (쓰면서 왜이렇게 웃기냨ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ) aadmindmin이렇게 하면 가운데 admin이 삭제되면서 admin이 완성된다. ?id=aadmindmin
los troll[8번] 문제다. if($result['id'] == 'admin') solve("troll"); 우선 문제풀이 조건을 보면 id가 admin이어야 한다. 이번에는 admin을 필터링한다. if(preg_match("/admin/", $_GET[id])) exit("HeHe"); 이 구문으로 알 수 있다. 그럼 어떻게 우회해야 할까? 음... i표시가 없는 것을 보니 대소문자를 구별한다. 그럼 ADMIN으로 우회을 할 수 있을 것이다.