InfoSec/Wargame11 [워게임] csrf-2 문제 풀이 1. 엔트포인트 분석/vulncsrf1과 마찬가지로 파라미터를 소문자로 변경 후에 xss 공격을 막기 위해 필터링을 합니다.@app.route("/vuln")def vuln(): param = request.args.get("param", "").lower() # 이용자가 입력한 param 파라미터를 소문자로 변경 xss_filter = ["frame", "script", "on"] # 세 가지 필터링 키워드 for _ in xss_filter: param = param.replace(_, "*") # 이용자가 입력한 값 중에 필터링 키워드가 있는 경우, '*'로 치환 return param /flagGET 요청일 경우에는 flag 페이지를 렌더링.. 2024. 11. 15. [워게임] csrf-1 분석 및 풀이 1. 엔드포인트 분석/vuln사용자가 입력 받은 파라미터를 소문자로 변경 후에, 필터링을 통해 xss 공격을 차단합니다.@app.route("/vuln") # vuln 페이지 라우팅 (이용자가 /vuln 페이지에 접근시 아래 코드 실행)def vuln(): param = request.args.get("param", "").lower() # 이용자가 입력한 param 파라미터를 소문자로 변경 xss_filter = ["frame", "script", "on"] # 세 가지 필터링 키워드 for _ in xss_filter: param = param.replace(_, "*") # 이용자가 입력한 값 중에 필터링 키워드가 있는 경우, '*'로 치환 return .. 2024. 11. 14. [워게임] xss-2 : img onerror 풀이 문제 설명render_template을 우회하여 플래그 값을 구하라 페이지 설명모든 엔드포인트는 xss-1 문제와 똑같은 구성으로 이루어져 있다. 아래의 포스트를 참고하여 파악해보자https://e-dl.tistory.com/65 [워게임] xss-1 : innerHTML 풀이문제 설명XSS 기법을 사용하여 쿠키에 저장된 플래그 값을 탈취하자. 페이지 설명/ : 인덱스 페이지입니다./vuln : 이용자가 입력한 값을 출력합니다./memo : 이용자가 메모를 남길 수 있으며, 작성e-dl.tistory.com 달라진 점은 /vuln 의 코드이다@app.route("/vuln")def vuln(): return render_template("vuln.html")사용자가 입력한 param 값을 바로 리턴.. 2024. 11. 4. [워게임] xss-1 : <script> 풀이 문제 설명XSS 기법을 사용하여 쿠키에 저장된 플래그 값을 탈취하자. 페이지 설명/ : 인덱스 페이지입니다./vuln : 이용자가 입력한 값을 출력합니다./memo : 이용자가 메모를 남길 수 있으며, 작성한 메모를 출력합니다./flag : 전달된 URL에 임의 이용자가 접속하게끔 합니다. 해당 이용자의 쿠키에는 FLAG가 존재합니다./vuln 페이지에 접속하면 param 자리에 script 를 작성한 것이 제대로 작동하는 것을 확인할 수 있다.여기서 vuln의 코드를 보게 되면 사용자가 입력한 파라미터를 바로 return 하기 때문에 이것이 바로 XSS 취약점이 될 수 있는 것이다.@app.route("/vuln")def vuln(): param = request.args.get("param", .. 2024. 11. 4. [워게임] devtools-sources https://dreamhack.io/wargame/challenges/267 devtools-sources개발자 도구의 Sources 탭 기능을 활용해 플래그를 찾아보세요. 플래그 형식은 DH{...} 입니다. Reference Tools: Browser DevToolsdreamhack.io 주어진 웹 폴더에서 devtools를 사용하여 플래그를 찾아내면 되는 문제다이렇게 파일을 다운받아주고, index.html을 크롬으로 열어본다.그러면 아래와 같은 화면이 나오는데, 여기서 ctr + shift + J 를 눌러서 개발자 모드를 열어준다.sources에서 ctrl + shift + F 를 눌러 전체 파일에서 검색하는 기능을 켜주고,아래의 화면처럼 DH를 검색하면 출제자가 주석처리 해놓은 플래그를 볼 수.. 2024. 9. 23. [워게임] Check Return Value 풀이 1. 문제 요약바이너리가 레지스터에 반환하는 값을 디버깅으로 찾는 문제이다.출력문이라면 디버깅을 하지 않고도 문자열만을 검색하여찾을 수 있지만,바이너리가 해당 문자열을 레지스터에다가 반환하기 때문에 디버깅 사용은 필수이다.2. 문제 풀이GDB 디버거 연결우선 기본적으로 바이너리를 디버거로 열어준다.이렇게 열어줘야 정상적으로 열린다. (나는 처음에 모르고 위에 Tool Chest에 있는 Debugger를 눌렀더니 계속 빈 프로젝트 파일만 오픈이 되었다.)그 후에 디버거 메뉴에서 GDB LOCALLY IN-VM을 열어 디버거를 우분투의 GDB와 연결시켜준다.그러고 일단 starti 메뉴를 체크하고 실행을 시켜준다. 여기까지가 항상 기본 작업이다.브레이크 걸기가장 먼저 해주어야 할 것은, 동기화이다.Ghidr.. 2024. 5. 13. 이전 1 2 다음