본문 바로가기

모의해킹

(163)
blind sql injection advanced [WEB LEVEL1] from requests import get //참과 거짓 확인 url = "http://host2.dreamhack.games:15970" // url 주소 지정 query = f"admin' and 1 = 1-- " //참 쿼리 --(뛰어쓰기 필수) req = get(f"{url}/?uid={query}") print(req.status_code) if "exists" in req.text: print("True") else: print("False") from requests import get url = 'http://host3.dreamhack.games:11716/' //url 지정 password_len = 0 while True: password_len += 1 query = f"admin..
XSS Filtering Bypass [WEB LEVEL1] XSS Filtering Bypass는 웹 내에 XSS 취약점이 존재하지만 웹 방화벽 또는 기타 방어 기법으로 인해 일반적인 공격 기법을 사용할 수 없을 때이다 소스 코드를 보니 script, on, javascript 에 대한 문자가 박혀있으면 필터링되는 소스이다. 저번에 풀었던 XSS 문제처럼 memo경로에 flag 값을 출력시키는 문제이다. 먼저 기본 코드부터 작성을 해보면 구문이다. 이제 여기서 소스코드에 나와있는 필터링 부분을 우회해 페이로드를 작성해 보자. window ['locatio'+'n']. href="/memo? memo="+document.cookie; 구문 ** location.href 는 전체 URL을 반환하거나, URL을 업데이트할 수 있는 속성값이다. ** document.c..
session [WEB LEVEL1] admin 으로 로그인만 하면 되는 문제인거 같다. 여기서 다른 계정으로 로그인을 해서 admin의 세션을 사용해 로그인을 하는거 같다. guest 계정으로 로그인을 먼저 해야하는거 같다. sessionid를 변경하는거 같은데 admin의 sessionid를 확인하는게 이번 문제의 핵심인거같다. **문제를 풀다 보니 sessionid가 아닌 grafana_session를 확인해야한다. 소스코드를 보면 admin이라는 계정의 sessionid를 session_storage에 1byte의 해시값으로 저장을 미리 해놓는거 같다. 1byte의 해시값으로 무작위 (Brute-force) 공격을 해서 로그인할 수 있을것같다. 툴을 사용해 Brute-force 공격을 시도해보자 해당 admin에 대한 session ..
web-misconf-1 [WEB LEVEL1] 첫번째로 로그인을 해야하기 때문에 인젝션 또는 페이지 정보를 확인해 보자 개발자 모드를 사용해 페이지 소스를 보닌 beforEach 함수가 있다. **beforEach 함수는 이전에 실행시킨 함수? ,초기 데이터를 적재하는 코드만 추출한다는 의미 이다. 즉, 이전에 admin ID와 admin PW로 로그인 했다는 의미?라고 생각을 해서 해당 값으로 로그인을 하니 로그인이 되었다. 이 문제는 로그인을 하면 쉽게 풀 수 있는 문제인거 같다. 로그인한 다음 Server Admin 메뉴에서 Settings 에 들어가면 문제의 답이 그대로 적혀있다.
blind-command [WEB LEVEL1] URL에 cmd 명령어를 실행시킬 수 있다?! cmd 파라미터로 ls 값을 주면 ls 명령어가 실행이 되는 게 아니고 그대로 출력이 된다. 소스코드를 보면 GET 메소드로 요청을 말고 다른 메서드로 요청을 보내야지 cmd가 실행이 되는 거 같다. HEAD 메소드로 보내야 하나..? OPTIONS 메서드를 사용해 메소드를 확인해 준다. HEAD 메소드를 사용할 수 있는 거 같다. HEAD로 요청을 보내면 200 코드는 오지만 응답 값을 확인할 수가 없다. 그래서 curl 명령어를 사용해 응답 값을 보내준다. 드림핵에서 제공해 주는 Request bin 툴을 사용해 curl 명령어로 요청을 보내면 될꺼같다. 응답 값이 오는 걸 확인할 수 있다. 그러면 flag값을 확인해 보자. flag.py 값을 찾기 위해..
Natas 다음 LeveL 로 가기위한 Password 찾기 페이지에 주석으로 Password가 노출이 되어있다. password : g9D9cREhslqBKtcA2uocGHPfMZVzeFK6 Level1 문제도 페이지에 주석으로 Password가 노출이 되어있다. password : h4ubbcXrWqsTo7GGnnUMLppXbOogfBZ7 페이지소스에 png 파일이 files 경로에서 가져오는걸 보니 files 에 접근이 되는지 확인을 해본다. files 디렉토리에 접근이 가능하고, users.txt 파일을 찾을수 있었다. Password : G6ctbMJ5Nb4cbFwhpMPSvxGHhQ7I6W8Q 페이지소스에 "구글에서도 찾지 못 할 것이다" 라는 문구가 적혀있다. 검색엔징? 말하는건가? 그런 생각하였기에 ..
simple-ssti [WEB LEVEL1] SSTI 취약점 웹 애플리케이션에 적용되어 있는 웹 템플릿 엔진에 공격 코드가 템플릿에 포함된 상태에서 서버 측에 템플릿 인젝션이 발현되는 공격을 의미한다. 404 Error페이지와 robots.txt페이지가 존재한다. 처음 확인을 위해서는 ${{
php-1 [WEB LEVEL1] LFI 취약점은 외부의 파일을 내부의 파일처럼 사용할 수 있음 대부분 URL을 통해 가져온다(GET 방식) 소스코드를 보니 flag 문자열이 포함되면 Permission denied 메시지가 출력이 되는 걸 볼 수 있다. flag 필터링을 우회하기 위해서는 PHP warpper 라는 우회 기법이 있다. **php warpper는 다양한 I/O스트림을 다루는데 사용하며, encode/decode 옵션을 사용하여 서버 안에 존재하는 문서들을 열람할 수 있다. ex) php://filter/convert.base64-encode/resource=해당 경로 및 파일 php://filter/convert.base64-encode/resource=/var/www/uploads/flag 페이로드를 사용해 문제를 풀 ..