전체 글 336

실전 모의해킹

https://pentesterlab.com/exercises/from_sqli_to_shell/attachments 위의 사이트에서 sql 취약점이 있는 가상환경을 가져온다. 칼리리눅스에서 해당 ip에 접속하면 다음과 같은 사이트가 나온다. 먼저 해당 ip를 nikto로 조사해보면 XSS와 SQL injection에 취약하다고 나와있다. 사이트를 먼저 돌아본다 특징을 보면 들어간 사이트가 id로 전달 되는것 같다. SQL injection의 여부를 확인하기 위해 id에 1' 넣어봤더니 SQL오류가 나오므로 SQL injection 취약점이 있을 것이다. XSS에 취약한 것을 확인했다. sqlmap을 이용해서 조사해보았다. 조사해 보니 id 파라미터가 취약하다고 한다. --current-db를 이용해서 ..

22.02.10 Surveying the Terrain

백의 차례이다 문제를 보자마자 느껴지듯 체크메이트를 하는 문제인것 같다. 폰이 킹의 앞을 막아 백랭크 체크메이트 위협을 만들고 있고 룩과 퀸이 위협적인 위치에 있으며 수비할 수 있는 유닛도 적다. 먼저 퀸으로 체크를 넣을 수 있는수가 쉽게 보이는데 b8, c8은 비숍으로 수비가 된다. 그렇다면 첫수는 아마 d8 첫수로 d8을 둔다면 다음 수는 흑 퀸으로는 수비가 안되기 때문에 흑의 룩이 수비할것이고 그렇다면 백의 룩으로 왕을 끌어 룩을 수비하지 못하게 할것이다. 이 위치까지와서 잠깐 생각해보니 처음에는 퀸으로 룩이 먹는것이 정답이라고 생각했는데 조금 더 수읽기를 해보면 흑이 퀸으로 수비를 해버리면 다음수에 백이 할 수 있는 마땅한 수가 없다. 따라서 다른 수를 본다면 이렇게 체크메이트가 가능 할 것이다.

체스/Daily Puzzle 2022.02.11

Known Vulnerability

오픈소스, 라이브러리에 알려진 취약점을 활용하는 것 Heart Bleed 취약점 HTTPS 웹에서 SSL/TLS 하트비트라는 확장기능에서 발견되어 명명됬다고 함. BWAPP에서 실습을 해보았다. 먼저 attack script를 다운받고 8443포트로 접속한후 사용법을 보고 실행하면 된다. python heartbleed.py 192.168.109.134 비밀번호도 노출되는 모습을 볼 수 있다. Shell Shock () { : ;}; 시스템환경변수에 다음과같은 패턴의 명령어가 있을때 명령어가 실행됨 env x='() { :;}; echo vulnerable' bash -c 'asdf' 이런 방식으로 체크 가능 오른쪽과 같이 취약한 쉘은 vulnerable이 출력된 모습이다. BWAPP에서 실습 해보았다...

22.02.08 Averbakh's 100 Candles

백의 차례로 시작한다. 보다시피 제일 먼저 보이는것은 비숍의 디스커버드 어택이 눈에 보이고 룩과 폰이 킹이 도망 갈 길을 커버하고 있기 때문에 체크메이트를 하는 문제인 것 같다. 첫 수로 다음과 같은 선택지 들이 있는것 같은데 룩을 움직이는것보다는 디스커버드 어택을 해서 룩의 지원을 받는비숍으로 킹의 도망갈 길을 막는것이 맞다고 생각했다. 바로 다음수로는 체크메이트를 노릴 수 는 없지만 퀸을 h6로 보내면 체크메이트가 나오기때문에 g6로 전진하는것이 맞는것 같다. 그러면 다음 수는 체크메이트

체스/Daily Puzzle 2022.02.08

XML eXternal Entity

XXE XML 타입 데이터를 웹에서 요청할때 서버에서 외부 엔티티를 처리할 수 있게 할때 나타낼 수 있는 취약점이다. XML은 다목적 마크업 단어라고 한다. BWAPP에서 실습해 보았다. Burp Suite로 가운데 있는 Any bugs를 입력했을때 전송되는 요청을 보면 Content-Type : text/xml 이 부분을 볼 수 있다. 이에 대해 response에 bee's secret~~ 라고 오는 부분을 보고 bee를 다른걸로 바꾸면 어떻게 될까 추측할 수 있다고한다. Repeater 로 요청을 옮겨서 bee를 asdf로 바꾸니 asdf로 바뀐 응답이 돌아왔다. 이를 활용하여 다음과 같이 요청을 보내서 이에대한 응답을 얻는 것이다. 이를 방지하기 위해서는 외부 엔티티 참조 기능이 필요하지 않을때 이..

접근 통제 취약점 공격

- URL이나 파라미터 조작 - 관리자 페이지에 접근 - 웹 디렉터리 경로를 벗어나 접근 Insecure Direct Object Reference(IDOR) 안전하지 않은 직접 객체 참조 공격 BWAPP 에서 실습을 해보았다. Confirm 하면 15EUR에 티켓 1개를 구매한것이다. 이를 버프스위트에서 intercept 해서 다음과 같이 수정한뒤 Forward로 보내면 1000개 티켓을 0원해 구매할 수 있다. 이를 방지하기 위해 입력된 값을 클라이언트한테 받지 않는다. 관리자페이지 bWAPP은 bWAPP/admin/ 으로 쉽게 접근이 가능하다. DVWA 역시 /setup.php로 접근 가능하다. 이는 이를 방지하기위해 관리자 메뉴를 별도의 포트번호에 제공하거나 HTTPS프로토콜을 이용한다. 관리자 ..

민감한 데이터 노출

민감한 데이터 - 개인정보 - 로그인에 필요한 정보 ex) pw, session ID HTTP - 네트워크 스니핑 당할 위험이 있음 ex) tcpdump, wireshark 웹스토리지 사용 - 웹스토리지에 저장된 데이터를 자바스크립트로 읽을 수 있음 BWAPP의 웹 스토리지에서 실습을 해봤다. XSS를 이용해서 web storage에 저장된 login name 을 가져올 수 있다는것 같으네 확인해보면 login : BEE, secret : Any bug? 이를 BWAPP의 XSS-Reflected에서 아래와 같은 코드를 넣으면 secret에 해당하는 Any bugs가 나온다. 패스워드 노출 - 보안이 고려된 사이트에 패스워드 분실 신고를 하면 패스워드 초기화 방법을 주는 이유가 패스워드를 암호화해서 저장..

File Upload

게시판에 파일을 올리는 등을 이용해서 웹쉘을 업로드 해서 시스템 명령을 실행 하는 것이다. 이번에도 DVWA에 File Upload를 보았다. 책에서 준비해준 코드를 보면 system함수를 실행하게 하는 웹쉘 인것 같다. 이 파일을 올리면 파일이 올라간 주소가 나오는데 이 주소에 접근하면 원하는 대로 실행 할 수 있다. 이를 막기 위해서는 -파일의 확장자, 내용 검사 - 파일 저장 경로 설정/ 서버를 따로 구축 - 파일 업로드 디렉터리 실행 권한 제거 - 다른 확장자로 변경 등의 여러가지 방법이 있지만 어줍잖게 하면 우회해서 공격할 수 있다고 하는 것 같다.

22.02.05 Gruenfeld's Endgame Magic

백 차례로 시작한다. 아주 간단해 보이는 엔드게임 인줄 알았지만 아니었다. 룩으로 체크를 넣고 폰으로 잡고 폰레이스를 하거나 룩을 그대로 두고 바로 폰으로 잡고 폰레이스를 하면 될줄 알아서 안잡았을때 누가 더 빠른지 새보니 폰을 잡고 바로 뛰어도 퀸을 만들 수 있어 그게 답인줄 알았지만 답은 룩 a3로 킹이 룩을 잡았을때 킹으로 a5폰의 진출을 막는것이었다. 만약 b폰으로 흰색폰을 잡아버리면 룩이 나머지 폰들을 다 잡으면서 룩 체크메이트로 끝날 것이다. 그렇다면 왜 위에 처럼 바로 폰 으로 퀸을 만드는 방법은 안될까 해서 설명을 읽어보니 폰이 퀸을 만들면 흑폰이 a2 에 있는 상황이 되는데 룩폰, a라인이나 h라인에 있는 폰이 승진 직전에 있으면, 과 퀸이 있을때는 무승부가 나온다고 한다. 직접 분석에서..

체스/Daily Puzzle 2022.02.06

[Wargame]blind-command(web)

이 문제를 풀어보려고 했다. 다음과 같은 창이 나와 ?cmd= "" 에 실행 될거라고 생각했다. 오류가 나지는 않아 코드를 열어보았다. 코드를 보면 요청 방식이 GET이면 안된 다는 것 같았다. 하지만 어떻게 요청방식을 바꾸는지 몰라서 답을 보게 되었다. 결과적으로는 요청방식을 바꾸는 것 뿐만아니라 출력하게 만드는 것도 문제였던것이다. BurpSuite와 Curl을 이용해서 위 문제를 해결 할 수 있었다. 먼저 GET /?cmd=ls 였던 이부분을 BurpSuite에서 Intruder 기능을 써서 GET을 OPTIONS로 바꿔 GET외에 무슨 요청이 가능한지 알아보았다. Allow : GET, OPTIONS, HEAD 라고 되있는걸 보니 HEAD로 요청을 보내면 필터링에 걸리지 않을 것이다. curl과 ..