분류 전체보기
-
DreamHack 1단계 xss-1DreamHack 2021. 7. 11. 19:02
DreamHack 1단계 xss-1 문제를 풀어보겠다. 접속을 하면 세 페이지가 나오는데, vuln 함수는 필터링이 없어서 xss 가 가능하다. memo 함수는 flag 에 입력한 값이 성공시 출력되는 페이지이다. 왜냐하면, memo 함수에서 이미 hello 라는 문자열이 있기 때문에 쿠키 값이 존재한다고 생각할 수 있다. flag 함수는 스크립트 언어를 기입하여, 공격하는 페이지이다. 이렇게, 각각의 페이지를 확인할 수 있다. read_url 함수를 보면 이 함수에서 쿠키가 생성이 되고, domain 이 127.0.0.1:8000 이다. 우리가 제공받은 주소와 포트도 다르기 때문에 쿠키 값에는 저장되어 있지 않다. 따라서 127.0.0.1:8000 에서 확인을 해야한다. check_xss 함수를 보면 ..
-
DreamHack 1단계 file-download-1DreamHack 2021. 7. 11. 18:40
DreamHack 1단계 file-download-1 문제를 풀어보겠다. flag.py 를 다운받는 문제인데, 우선 file 이 어떻게 Upload 되는지 확인하기 위해 임의로 Upload 를 수행해보겠다. 임의로 만든 flag.py 를 다운받은 URL 을보면, read 함수에서 name 파라미터에 Filename = flag.py 인 Memo 를 다운한 것을 볼 수 있다. 또한, read 함수에서 try 문에서 open 메소드 안에 " UPLOAD_DIR / filename " 을 확인할 수 있듯이, 업로드 된 파일들의 디렉터리가 filename 바로 위 디렉터리인 것을 알 수 있다. 그러므로 URL 에서 name=../flag.py 로 수정하겠다. FLAG 값이 출력되는 것을 볼 수 있다.
-
DreamHack 1단계 simple_sqliDreamHack 2021. 7. 11. 18:04
DreamHack 1단계 simple_sqli 문제를 풀어보겠다. 문제 파일을 보면, guest, admin 계정이 있다는 것을 알 수 있고, login 함수에서 "을 기준으로 문자열을 구별한다는 것을 알 수 있다. userid = admin 으로 로그인 시, FLAG 가 출력된다. 따라서, userpassword 는 모르는 상태이고, userid = admin 으로 SQL Injection 을 통해 FLAG 를 얻어야 한다. SQL Injection 방법은 여러가지가 있는데, 그 중에서 --를 통해 뒤쪽 쿼리문을 주석처리하는 방법과 or "1" = "1" 을 통해 항상 참이 되게 하는 방법 또는 UNION 을 쓰는 방법 등등 여러가지 방법이 있다. 그 중에서 주석처리 방법을 사용하겠다. Burp Sui..
-
DreamHack 1단계 cookieDreamHack 2021. 7. 11. 17:19
DreamHack 1단계 cookie 문제를 풀어보겠다. 문제 파일에서 users 는 guest, admin 두 개로 있다는 것을 알 수 있다. 접속하고 guest로 로그인이 가능한지 확인을 해본다. 페이지 소스 보기를 통해 guest / guest 로 로그인이 가능하다는 것을 볼 수 있다. guest / guest 로 로그인을 수행해보겠다. guest 로그인을 통해 쿠키 값이 생긴 것을 볼 수 있다. 쿠키 값을 얻었으니 value를 admin 으로 수정을 해보겠다. 그 후, 새로 고침을 하면 FLAG 값이 나오는 것을 볼 수 있다.
-
모의해킹의 열두 번째 자바 역직렬화 취약점 공격웹 해킹 2021. 3. 25. 22:52
자바 역직렬화 취약점은 발견되면 공격자가 원격에서 코드를 실행할 수 있는 RCE(Remote Code Execution) 공격으로 이어지기 때문에 매우 심각한 영향을 줄 수 있는 취약점이다. 자바 프로그램상에서 어떤 객체가 생성되면 그 객체는 메모리에 상주하게 되고, 프로그램이 실행되는 동안 필요에 따라 사용된다. 그런데 프로그램이 종료되면 메모리에 있던 객체는 사라지게 된다. 객체에는 저장한 데이터가 있는데, 그 데이터를 다음 번에 계속 사용해야 한다면, 메모리에 상주하던 객체와 그 데이터를 파일이나 데이터베이스 등에 저장해 두어야 할 것이다. 이때 저장을 하기 위해 객체르르 바이트 스트림이라는 순차적인 데이터로 변환하는 과정을 거치는데, 이것을 직렬화라고 한다. 역직렬화는 반대로 저장되어 있는 바이트..
-
모의해킹의 열한 번째 알려진 취약점을 이용한 공격웹 해킹 2021. 3. 23. 14:12
최근 개발 환경 추세에서는 오픈소스 라이브러리를 사용하는데, 오픈소스에서 발생하는 대부분의 취약점은 CVE 데이터베이스를 통해 공개된다. 공격자는 CVE 데이터베이스를 통해 알려진 취약점에 대한 정보를 쉽게 찾고 공격에 사용한다. 원래 취약점이 공개되면 CVE-[발견연도]-[일련번호]와 같은 CVE ID가 지정되어 관리된다. 하트블리드 취약점 공격 실습 하트블리드 취약점을 이용하면 공격자가 웹 서버 호스트의 메모리를 읽을 수 있게되어 사용자의 로그인 정보 및 그 밖에 노출되면 안되는 민감한 정보들을 탈취할 수 있다. 위 그림의 8443포트는 HTTPS 프로토콜로 접속해야 하는 포트이다. 위 그림에서 Confirm Security Exception 버튼을 눌러 예외처리를 한다. 그리고 다시 bWAPP에 접..
-
모의해킹의 열 번째 XXE 공격웹 해킹 2021. 3. 22. 13:54
XXE (XML eXternal Entity, XML 외부 엔티티) 취약점은 XML 타입의 데이터가 웹 요청을 통해 전송되고, 서버에서 XML 외부 엔티티를 처리할 수 있도록 설정된 경우 나타날 수 있다. 사용자가 웹 애플리케이션으로 전달되는 XML 데이터를 직접 업로드하거나 수정할 수 있는 경우, 공격자는 외부 엔티티를 참조하는 XML 데이터를 전송하여 파일과 같은 서버 내부의 정보를 탈취하거나 서비스 거부 공격, SSRF 등의 공격을 수행할 수 있다. XXE 공격 실습 위 버튼을 누르면 사용자의 시크릿이 버튼에 표시된 문자열로 초기화되는 기능이 구현되어 있다. 위 그림과 같이 Content-Type 헤더가 text/xml 타입으로 설정되어 있고, XML 데이터가 전송되고 있다. 앞에 bee는 로그인 ..
-
모의해킹의 아홉 번째 접근 통제 취약점 공격웹 해킹 2021. 3. 19. 16:08
우선 취약한 통제 리스크의 사례를 알아보겠다. - URL이나 파라미터를 조작하여 다른 사용자의 리소스에 접근하거나 허용되지 않은 기능을 실행할 수 있는 경우 - 적절한 인증 및 인가 과정을 거치지 않고 관리자 페이지 접근할 수 있는 경우 - 디렉토리 트래버셜 취약점과 같이 웹 디렉토리 경로를 벗어난 호스트 내부 경로의 리소스에 접근할 수 있는 경우 안전하지 않은 직접 객체 참조(IDOR 공격) 공격자가 요청 메세지의 URL이나 파라미터를 변경하여 정상적으로 혀용되지 않은 기능을 실행하거나 다른 사용자의 리소스에 접근할 수 있는 공격이다. 공격자는 항상 요청 메세지의 어떤 부분이든 마음대로 변경할 수 있다는 것을 항상 염두에 두어야한다. IDOR 공격 실습을 해보겠다. 버프 스위트의 인터셉트 기능을 이용하..