본문 바로가기

모의해킹

(163)
CSRF-1 [WEB LEVEL1] 1. vuln(csrf) page : 악성 스크립트인 가 alert(1)로 필터링되어 출력됨 더보기 fram, script, on 문자가 포함되어 있으면 *로 출력 2. memo : flag 페이지에서 실행하는 결과 값이 memo에 저장됨 더보기 global 함수를 사용해 memo_text 전역변수 선언 하여 memo 값을 memi_text 변수에 저장 3. notice flag : userid 값이 admin 이면 웹 서버 local 환경에서 flag를 memo로 추가하는 페이지 (소스코드에서 확인할 수 있음) 더보기 request.remote_addr 변수가 127.0.0.1이 아닌 경우 "Access Denied" 메시지를 반환하고, userid 값이 admin이 아닌 경우 "Access Denie..
devtools-sources [WEB LEVEL 1] 이 문제는 페이지를 다운로드하여 푸는 문제입니다. 파일을 다운 받아 index 파일을 열어 줍니다. index.html 파일의 페이지를 확인할 수 있습니다. 문제정보에서 개발자 도구를 사용해 문제를 푸는거기때문에 개발자 도구(F12)를 실행합니다. 개발자 도구를 사용에서 Ctrl + Shift + F 키를 눌러 전체 검색으로 DH를 검색하면 DH정보를 빠르게 찾을 수 있습니다.
file-download-1 [WEB LEVEL 1] 파일을 업로드할 수 있는 페이지는 Filename과 Content 구문에 내용을 입력 후, 업로드를 하면 메인 페이지에 저장이 되는 구조입니다. 이 페이지에서 flag.py 파일을 다운 받기 위해서는 다운로드 취약점을 이용해야 합니다. flag.py 파일은 서버 내부 어딘가에 있을거랑 생각을 하기 때문에../ 구문을 사용해 상위폴더로 이동한 다음 flay.py를 저장시켜봅니다. bad characters 구문이 보여지는걸 확인할 수 있습니다. 소스 코드를 보면 /upload 페이지에서 .. 에 대한 구문을 사용하면 bad characters 메시지를 출력하라는 구문이 있습니다. 소스코드를 보면 /read 라는 경로가 하나 있는 걸 확인할 수 있습니다. /read 경로에서는 .. 구문이 필터링 안되어 있는..
simple_sqli [WEB LEVEL 1] 기본적으로 로그인 페이지 쿼리는 select * from user where id='{ }' and pw='{}' 이러한 쿼리 형태입니다. 이 문제의 쿼리 형태는 select * from users where userid="{userid}" and userpassword="{userpassword}"입니다. userid 값에는 admin이 들어가고 "(쌍따옴표)를 뒤에 넣어 형식을 맞춰 줍니다. 그다음 and 문으로 뒤에 값을 참으로 만든 다음 --(주석)을 사용해 뒤 부분을 생략해 줍니다. 완성된 쿼리는 select * from users where userid="{admin"and1=1--}" and userpassword="{userpassword}"입니다.
session-basic [WEB LEVEL 1] 로그인 페이지에서 소스보기를 통해 ID/PW가 guest라고 평문으로 노출이 되어 있다. "guest"로 로그인을 한다. guest로 로그인이 되었다. admin으로 로그인을 해야 하기 때문에 문제소스코드를 분석해보자. 소스코드에서 login 페이지 말고 admin 페이지가 있는 걸 확인할 수 있다. admin 페이지에 접근을 하면, 많은 세션 id 값이 저장이 되어있는데 그중에 admin의 세션id가 있는걸 확인할 수 있다. 세션id 값을 admin의 세션id 값으로 수정을 해준다. admin의 세션 id값으로 수정하였을 때, admin으로 로그인이 되었다.
XSS-1 [WEB LEVEL 1] 3개의 페이지가 있는걸 확인 할 수 있습니다. 첫번째 페이지에 들어가면 URL 주소에 스크립트가 적혀있고, 실행이 되는걸 볼 수 있습니다. 쿠키 값을 확인하기 위해 document.cookie 입력했지만, 쿠키값 없이 alert 경고창만 나옵니다. 두번째 페이지는 URL 주소 창에 문자열 입력시 회색칸에 적힌 문자가 텍스트 형식으로 출력이 됩니다. 마지막 페이지는 스크립트를 입력을 할수 있는 구문이 적혀있습니다. 스크립트를 입력을 하면, good 이라는 경고창이 뜨면서 memo 페이지에 hello라는 텍스트가 적히는걸 확인할 수 있습니다. 내가 입력한 스크립트가 실행이되는지 확인을 할 수 없기 떄문에 출력 값을 memo 페이지로 보내 출력하도록 스크립트를 짜봤습니다. 스크립트를 입력해 쿠키값을 보내면 문..
cookie [WEB LEVEL 1] 페이지 소스 보기를 통해 guest의 ID와 PW 가 평문으로 노출이 되어 있는 거 확인할 수 있습니다. guest로 로그인하면 admin이 아니라고 메시지가 보입니다. cookie 문제이기 떄문에 개발자 도구를 사용해 쿠키 정보를 확인합니다. username의 쿠키 정보를 admin으로 변경을 하고, 새로고침을 해주면 admin으로 로그인이 된 걸 확인할 수 있습니다.
bee-box(실습 중)