CTF/기타15 [CodeEngn] Basic RCE L04 보호되어 있는 글 입니다. 2024. 5. 31. [CodeEngn] Basic RCE L03 보호되어 있는 글 입니다. 2024. 5. 25. [CodeEngn] Basic RCE L02 보호되어 있는 글 입니다. 2024. 5. 25. [CodeEngn] Basic RCE L01 보호되어 있는 글 입니다. 2024. 5. 19. [SWLUG CTF] Cattheflag 보호되어 있는 글 입니다. 2023. 11. 15. [Suninatas] Challenges 8 http://suninatas.com/challenges 써니나타스 웹해킹, 포렌식, 리버싱, 암호학, 해킹 워게임 제공. www.suninatas.com 써니나타스 문제는 처음 풀어본다! 8번 문제에 접속하면 이런 화면이 뜬다. 임의의 값을 입력하면 역시나 로그인이 안 된다. * 참고로 PW엔 4글자만 입력이 가능하다. 소스 코드를 확인해 봤더니 ID는 admin이고 PW는 0에서 9999 사이라고 한다. 전형적인 무차별 대입 공격이란 것을 알 수 있다. Burp Suite를 쓸까 파이썬 코드를 쓸까 고민했는데 전자는 너무 느리다고 해서 파이썬 코드를 사용했다. 참고: https://jennana.tistory.com/334 무차별 대입 공격을 할 수 있는 파이썬 코드이다. 해당 코드를 실행해 보면 무.. 2023. 5. 16. PHP&SQL Injection 실습 PHP vulnerability (PHP 취약점 공격) - 메타스플로잇 ip 주소를 리눅스 인터넷 창에 입력한 후, phpMyAdmin에 들어간다. - url에서 맨 끝에 ?-s를 추가면 php 소스코드가 보인다. (취약점) - msfconsole 실행 - search php_cgi 확인 - show options 명령어 실행 - 메타스플로잇 ip로 rhosts 설정 - payloads 확인 - payloads 설정, 옵션 확인 - 칼리리눅스 ip를 lhost로 설정 후 실행 SQL Injection (SQL 인젝션 실습) - DVWA에 들어가서 로그인 한다. - DWMA Security를 low로 변경 후에 Submit - SQL Injection - 1을 넣었을 때 - 2를 넣었을 때 - 1'를 넣었.. 2022. 11. 13. 메타스플로잇 실습 1. DB에 연결 2. DB 초기화 3. 메타스플로잇 실행 1) metasploit v-6.2.9-dev 현재 버전과 모듈의 개수들을 알려줌 2) exploits 실제로 취약점을 공격하여 해킹을 시도하는 공격 모듈 3) auxiliary 보조모듈 주로 스캐닝을 위한 용도로 사용 payload를 실행하지 않음 4) payload exploit이 성공이 되면 실행함 5) encoders payload를 타겟까지 제대로 전달하기 위한 모듈 6) nops nop이라고 하는 어셈블리 명령어를 이용해 payload 크기를 일정하게 유지시켜주는 모듈 7) db status db가 연결이 잘 되었는지 확인 8) help 각종 명령어들에 대한 설명 4. 메타스플로잇 실행 후, 메타스플로잇 ip 확인 5. 메타스플.. 2022. 11. 13. [XSS-game] level 3 https://xss-game.appspot.com/level3 https://xss-game.appspot.com/level3 Oops! Based on your browser cookies it seems like you haven't passed the previous level of the game. Please go back to the previous level and complete the challenge. xss-game.appspot.com 해당 문제는 url을 이용해서 풀어야 하는 문제이다. Target code에서 소스 코드를 살펴 봤다. 1) html에 img 태그를 사용해서 사진을 가져온다. 2) window.location.bash로 # 뒤에 숫자로 구분하여 출력한다. 1)과 .. 2022. 11. 7. [XSS-game] level 2 https://xss-game.appspot.com/level2 https://xss-game.appspot.com/level2 Oops! Based on your browser cookies it seems like you haven't passed the previous level of the game. Please go back to the previous level and complete the challenge. xss-game.appspot.com 게시판 형식의 페이지에 팝업을 띄우는 것이 목적인 문제이다. script 태그는 먹히지 않아서 level1 문제와 같은 방식으로는 해결하지 못한다. 따라서 img 태그와 oneroor를 사용할 것이다. * onerror: 오류 시에 수행하는 구문 -.. 2022. 11. 7. [XSS-game] level 1 https://xss-game.appspot.com/level1 XSS game: Level 1 xss-game.appspot.com 해당 페이지에서 팝업 창, 즉 alert 창을 띄어야 하는 문제로 해결하기 위해선 자바 스크립트 작성 방법을 알아야 한다. -> 검색 입력 란에 해당 구문을 입력하면 alert 창이 뜨고 문제가 해결된다. 2022. 10. 31. [Load of SQL Injection] orc https://los.rubiya.kr/gate.php https://los.rubiya.kr/gate.php los.rubiya.kr 풀이 참고 링크: https://koun9hwan.github.io/2021/09/28/2021-09-28-Lord_of_SQLInjection_4_orc/ https://devdori.tistory.com/22 query : select id from prob_orc where id='admin' and pw='' -> query에서 id는 admin으로 고정되어 있고, pw는 입력 값을 받고 있다. $query = "select id from prob_orc where id='admin' and pw='{$_GET[pw]}'"; -> prob_orc 테이블에서 id가.. 2022. 10. 31. [Load of SQL Injection] goblin https://los.rubiya.kr/gate.php https://los.rubiya.kr/gate.php los.rubiya.kr 풀이 참고 링크: https://mandu-mandu.tistory.com/301 query : select id from prob_goblin where id='guest' and no= -> query에서 id는 guest로 고정되어 있고, no는 입력 값을 받고 있다. no를 통해 공격해야 되는 것 같다. if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); -> no는 '가 필터링 된다. if($result['id'] == 'admin') solve("goblin"); -> id 값은 admin이어야 한.. 2022. 10. 31. [Load of SQL Injection] cobolt https://los.rubiya.kr/gate.php https://los.rubiya.kr/gate.php los.rubiya.kr query : select id from prob_cobolt where id='' and pw=md5('') -> query에 id와 pw가 있고,pw는 md5(")로 되어 있다. if($result['id'] == 'admin') solve("cobolt"); -> 소스 코드에서 해당 코드를 통해 i싱클쿼터(')나 더블쿼터(")를 필터링하고 있진 않고, id 값에 admin이 들어가면 문제가 해결되는 것을 알 수 있다. id=admin을 넣어주고 '#으로 뒤를 다 주석 처리하면 문제를 해결할 수 있다. pw 부분만 주석 처리하면 admin이 아니라는 문구가 뜬다. a.. 2022. 10. 31. [Load of SQL Injection] gremlin https://los.rubiya.kr/gate.php https://los.rubiya.kr/gate.php los.rubiya.kr query : select id from prob_gremlin where id='' and pw='' -> query에서 id와 pw가 존재하는 것을 확인할 수 있다. if($result['id']) solve("gremlin"); -> 소스 코드에서 해당 코드를 통해 id만 알아내면 문제가 풀린다는 것을 알 수 있다. 가장 기초적인 SQL Injection 공격 기법인 Error Based 기법을 사용하면 문제를 풀 수 있다. id를 admin으로 두고 pw를 무조건 참이 될 수 있도록 pw='1'or'1'='1'로 만들면 된다. 해당 기법을 사용하기 위해 url 뒤.. 2022. 10. 31. 이전 1 다음