분류 전체보기 35

[Reversing] rev-basic-5

맨날 x64dbg로 푸는데 익숙해져서 다른 툴도 좀 써보려고 한다. IDA 진짜 편한거 같다. 편의 기능이 너무 많아서 진짜 돈주고 쓸만한 툴이긴 한듯 하다. 디스어셈블한걸 적당히 수정하면 이렇게 될거 같다. 중요한건 저기 있는 check() 겠지. 어셈블리로 한 줄씩 해석하면 진짜 오래걸리는데.. 이렇게 보니 간편하다. 플래그도 저거랑 비교하는 거 같고.. 정리해보면, buf의 길이는 0x18, 24글자? 인걸로 보이고.. a[i]와 a[i+1]을 더해서 flag[i]와 비교하는 것 같다. 그러면 맨 마지막 글자부터 구해야겠네? scanf 인지는 모르겠지만, 마지막에 널 문자가 들어갈 것 같으니.. a[i+1] = 0 이고, a[i] = 0x4C라고 하면 얼추 들어맞는 것 같다. code = [0xAD..

CTF/Dreamhack.io 2022.01.23

[Web] 화이트 해커들을 위한 웹 해킹의 기술 #7 - CSRF 공격

Cross Site Request Forgery 사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. [Wikipedia] 예전에 옥션에서 개인정보 유출된게 CSRF 때문이라고 한다. XSS와 비슷해보이지만, XSS는 해당 사용자의 브라우저에서 세션 쿠키를 탈취하는 것이고, CSRF는 해당 사용자의 권한으로 서버에다가 요청을 보내는 것이다. 공격 대상이 사용자인지 서버인지 차이가 있다. 내가 보기엔 비슷해보이긴함. 실습 패스워드를 변경하는 페이지다. CSRF 공격 예..

카테고리 없음 2022.01.23

[Reversing] rev-basic-4

야매로 배운 리버싱.. 정말 혼자서 코드 하나씩 실행시켜보면서 배웠는데 이제와서 보니 그게 도움이 많이 됬던거 같긴 하다. 문제를 다운로드하고 x64dbg에 넣어보자! 앞의 문제들에서도 64bit 프로그램이어서 바로 x64dbg에서 디버깅했다. 원래는 PEiD나 DIE로 확인하고 해야하긴 한다. 아니면, x32dbg에 올렸을 때에 에러를 뱉는 걸 보던지.. Correct를 출력한다했으니 문자열 참조를 찾아보자 따라가보니 Input을 받고 0x00007FF76E2E117E에서 검사를 하나보다. break point 걸고 따라가보자 따라가보면 내려가다가 cmp rax, 1C라는 부분이 보인다. 그 밑에오는 jae chall4.7FF76E2E1065를 우리가 보기 편하게 바꿔보자면 >=이다. 즉, rax >=..

CTF/Dreamhack.io 2022.01.21

[Web] php-1

LFI라고 한다. /var/www/uploads/flag.php 에 플래그가 있다고 하니 기억해두자 이번에도 문제 파일을 보지 않고 진행해봤다. 음.. 바로 flag.php? 바로 출력을 하도록 했는데 Permission denied다. 권한 설정이 되어있는 것 같은데.. LFI면 php의 기능을 이용해서 파일을 base64로 디코딩/인코딩해서 가져왔던 기억이 있다. 그게 정확하게 이름이 뭔지 몰라서 헤맸는데 찾아보니 PHP Wrapper라고 한다. https://www.php.net/manual/en/wrappers.php PHP: Supported Protocols and Wrappers - Manual Even though their names will be the same, you can have..

CTF/Dreamhack.io 2022.01.21

[Web] command-injection-1

최근에 배운 내용이다. 쉽겠지? 근거없는 자신감으로 바로 접속해본다. 익숙하다. DVWA에서도 비슷하게 나왔는데.. 바로 공격해보자. 오.. 막는다.. 이럴 땐 소스를 한번 봐야지 Let's ping your host Host Ping! 정규식이 포함되어 있다. 그래서 저런 경고창이 나오는 걸로 보이니 pattern을 삭제해보자! 조금 수정해서 공격해야할 것 같다. 쌍따옴표가 있으니까 ping은 정상적으로 실행될 수 있도록 마무리 해주고 우리가 원하는 걸 실행시키자 클라이언트는 믿지 말자..

CTF/Dreamhack.io 2022.01.21

[Web] image-storage

Web 문제에 요새 자신감이 좀 붙었다. 그래서 문제 파일도 안보고 바로 들어가보자 바로 파일 업로드가 보인다. 아무래도 파일 업로드를 해서 뭘 하는거 같으니까 웹 쉘을 바로 올려보자. 지나가다 주웠다. interactive web shell이라서 편하다. 올리면 저장위치까지 친절하게 알려준다. 저기로 접근하면 되는거 아닐까? 엥.. 바로 되네.. find / -name "flag.txt" 바로 찾고, 클리어!

CTF/Dreamhack.io 2022.01.21

[Web] 화이트 해커들을 위한 웹 해킹의 기술 #6 - 크로스 사이트 스크립팅 공격

Cross Site Script(XSS) 입력 값에 대한 검증이 없어서 스크립트가 삽입되어 악성 스크립트가 실행되는 취약점. 서버를 공격하는 것이 아닌 악성 스크립트가 삽입된 페이지를 만들어서 클라이언트가 피해를 입는 것. 공격자가 삽입한 스크립트가 언제 실행되는 지에 따라 아래와 같이 나눌 수 있다. Reflected XSS Stored XSS Reflected XSS 공격자가 전송한 URL에 접속하게 되면, 정상적인 페이지이지만 때문에 브라우저의 모든 쿠키들이 전송된다. 그 중에서도 로그인이 되어있는 경우에는 세션 ID까지 같이 탈취되어 해당 세션 ID 값으로 서버에 접속하면 피해자인 척 할 수 있게 되는 것이다. 실습 만만한 DVWA 등장, 아무거나 넣고 테스트 해보자. 잘 출력해준다. 여기서 co..

공부/Web 2022.01.20

[Web] 화이트 해커들을 위한 웹 해킹의 기술 #5 - 커맨드 인젝션 공격

Command Injection 명령어를 삽입해 악의적인 행동을 유도하는 것 적절한 검증없이 사용자의 입력 값이 시스템의 명령어의 일부분으로 들어가게 된다면, 공격자는 임의의 시스템 명령어를 실행할 수 있게 된다. 시스템에서 특정 호스트로 ping을 보내는 명령어를 사용중인데, 호스트 입력에 적절한 검증이 없다면 ping 8.8.8.8;cat /etc/passwd 라는 명령을 보냈을 때 ping의 결과와 /etc/passwd 내용까지 보여진다. 실습 DVWA Command Injection에서 진행한다. 위와 같이 특정 IP에 ping 명령을 보내는 페이지이다. 소스코드를 까보면, 위와 같은데 shell_exec를 통해서 명령을 실행한다. 그러면 세미콜론으로 명령어를 한줄에 2개씩 실행시키면 원하는 명령..

공부/Web 2022.01.19

모의해킹용 인프라 구축 #3

방화벽 설정을 해보자 네트워크 어댑터의 MAC 주소를 가지고 순서대로 설정했다. vmx0 = route-fw-net vmx1 = dmz-net vmx2 = dev-net vmx3 = soc-net vmx4 = intra-net 네트워크 구성도를 보면, soc-net이 LAN 구간이니까 vmx3을 LAN 으로 설정해준다. 음.. 이 이후로 좀 걸린다. 기다리자. 인터페이스들을 설정했고, 이제 WAN에 아이피를 할당받아보자. 2를 입력해서 들어가면 된다. DHCP 서비스를 활성화 해놔서 엔터 여러번 누르니까 아래와 같이 아이피가 할당됐다. 방화벽에 아이피가 10.0.0.5가 할당됐다. 마음에 안드니까 바꾸자! 동일하게 2번으로 들어가면 된다. 이렇게 설정해주면 끝난다. 이외에는 엔터 눌렀다. 외부와 통신이 ..