728x90
반응형

Hacking/[Web]DreamHack 4

DreamHack [simple_sqli]

기초적인 SQLi(SQL Injection) 공격 실습이다. 해결 방법으로는 인증우회 ,그리고 Blind SQLi 를 이용한 패스워드 획득 후 정상 로그인. 두가지 방법이 있다. 해당 문제의 메인페이지이다. 심플하게 Login 페이지만 존재한다. Login페이지이다. 해당 문제 DB엔 guest, admin 계정이 있는데 admin계정으로 로그인에 성공하면 FLAG를 획득할 수 있다. 우회 구문은 ======================================================= userid : admin" -- password : 아무거나 userid : admin" or "1 password : 아무거나 =============================================..

DreamHack [CSRF-2]

CSRF(Cross Site Request Forgery) 공격 실습 워게임이다. admin계정의 권한을 어떻게 이용할지가 핵심이다. 해당 문제의 메인페이지다. vuln(csrf) page : CSRF 공격이 실제로 실행될 페이지 flag : vuln 페이지에 공격코드를 전송할 수 있는 페이지 login : 로그인을 시도할 수 있는 페이지 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ..

DreamHack [xss-2]

드림핵 워게임 xss-1 에 이은 xss-2 문제이다. 앞선 xss-1 문제와 비슷하지만 약간 다르다. vuln 페이지는 xss 취약점이 있는 페이지 memo 페이지는 전달받은 인자를 웹페이지에 출력하는 페이지 flag 페이지는 vuln 페이지의 취약한 파라미터에 입력값을 전달해주는 페이지이다. 이전 문제와 같이, 구문을 입력했지만 flag값이 출력되지 않았다. 이유는 태그 사용이 막혀있기 때문이다. html5의 innerhtml 을 이용할 시, 태그는 실행되지 않는다. 따라서 태그가 아닌 다른 다른 방법을 이용한다. 태그 대신 svg/onload 태그를 사용했다. svg/onload 태그 뿐만 아니라, 와 같은 태그도 사용할 수 있다. 이미지 주소에 오류가 있을 시 해당 구문을 실행하라는 의미이다. 이..

DreamHack [xss-1]

해당 문제에서는 총 4개의 페이지가 제공된다. 1 2 3 4 @app.route("/vuln") def vuln(): param = request.args.get("param", "") # 이용자가 입력한 vuln 인자를 가져옴 return param # 이용자의 입력값을 화면 상에 표시 cs /vuln 페이지이다. XSS 취약점이 있는 페이지이다. param 이라는 변수에 값을 입력받게 되며, 문자열 필터링을 하지 않는다. 따라서 해당 페이지에 스크립트문을 입력하면 필터링이 없으므로 동작하게 된다. 1 2 3 4 5 6 @app.route('/memo') # memo 페이지 라우팅 def memo(): # memo 함수 선언 global memo_text # 메모를 전역변수로 참조 text = requ..

728x90
반응형