본문 바로가기

분류 전체보기

(210)
DVWA Authorisation Bypass(medium) 롸업 구성 창은 low 레벨과 같다. low 레벨과 마찬가지로 admin이 아닌 다른 계정에서 이 창으로 접속을 하면 되는 문제이다. 구성 코드이다. low 레벨에서는 아무 코드도 없었는데 medium 레벨에서는 검사를 한다. 시크릿 탭에서 admin이 아닌 계정으로 로그인하고 접속해보니 Unauthorised가 뜬다. authbypass링크는 막혀있지만 하위링크는 안 막혀있는것 같다. get_user_data.php 링크로 접속해서 정보를 모두 확인할 수 있다.
DVWA JavaScript(medium) 롸업 구성 창은 low레벨과 똑같다. success를 입력하면 invalid token이라고 뜨는 것도 똑같다. 코드에는 두개의 파일이 있는데 low레벨과는 아예 다른것 같다. php 파일은 그냥 js 파일을 불러오는 거 같고 js 파일에서 token을 검사하는 거 같다. js 파일을 분석해보면, token값은 phrase에 입력된 값을 이용해 만드는 것 같다. do_something 함수의 동작 과정을 보면, 그냥 인자로 받은 문자열을 역순으로 뒤집어서 반환한다. token 값 검사 과정을 보면 do_something 함수 안에 인자로 e+phrase값+XX인데 개발자 도구로 보면 현재 토큰이 XXeMegnahCXX이다. 즉, XX+phrase+XX를 뒤집으면 토큰이 된다. 그래서 토큰 value를 XXss..
DVWA CSP Bypass(medium) 롸업 창은 low레벨과 똑같다.
DVWA XSS(Stored)(medium) 롸업 low 레벨과 구성 창은 똑같다.
DVWA XSS(Reflected)(medium) 롸업 창 구성은 low 레벨과 같다.
DVWA XSS(DOM)(medium) 롸업 창 구성은 low레벨과 똑같다.
DVWA Weak Session IDs(medium)롸업 창 구성은 low 레벨과 동일한 것 같다. 구성 코드이다. low 레벨에서는 1씩 증가하는 정수로 세션아이디를 만들었었는데 medium 레벨에서는 time() 함수로 세션아이디를 만들어 준다. 개발자 도구에서 확인해보면 세션아이디 값이 나와있다. 1초마다 Generate를 누르면 값이 1씩 증가하는데 이렇게 세션아이디 값을 간단하게 알아내고 예측할 수 있다.
DVWA Blind SQL Injection(medium) Blind SQL Injection도 마찬가지로 low레벨에서랑 다르게 직접 입력하는게 아니라 선택하는 걸로 바뀌어있다. 과정 자체는 low 레벨에서 했던 것과 동일하다. 직접 입력할 수 없으니 burp suite로 요청을 변조해서 같은 명령어를 보내기만 하면 된다. 오히려 low레벨에서는 '로 정확한 구문을 예상해서 공격문을 만들어야 했는데 이건 그냥 burp suite에서 바꿔주면 되서 더 쉬운거 같기도 하다. 아무튼 먼저 column 개수부터 알아보겠다. id=1 union select 1,2# 이렇게 요청을 변조해서 보내면 참이 반환되고 column 개수가 2개인 것을 알아낼 수 있다. 이제 데이터베이스 이름을 알아낼 것이다. id=1 and length(database())=4# 먼저 이름의 길..