[root-me] HTTP directory indexing 빈 페이지에 소스를 보면 라는 부분이 있다. url에 추가해서 들어가면 got rick rolled? You're not the last :p Just search 라는 문구가 등장한다. 별로 쓸데는 없고 상위 디렉토리인 /admin/으로 들어가면 pass.html외에도 backup/이라는 디렉토리가 있다. 들어가면 admin.txt라는 파일이 있는데 이를 열어보면 비밀번호를 획득할 수 있다. WebHacking 2020.01.06
[root-me] HTTP-POST 스코어의 최대는 999999이므로 그 이상의 값을 입력해주면 된다. 버프스위트로 패킷을 잡아 스코어 값을 랜덤값에서 9,999,999로 전달해주면 flag 획득 가능. WebHacking 2020.01.06
[root-me] Command Injection command injection(os injection)이면 $(~), '~' 에서 ~부분이 명령어로 인식되는 것을 생각할 수 있다.(리눅스환경) 여기서는 로컬아이피주소인 127.0.0.1이 디폴트로 주어져 있고, 이 아이피에 핑을 때려야 한다. 버프스위트로 잡아보면 아이피가 공백으로 들어가기 때문에, 127.0.0.1을 다시 입력해줘야 한다. 핑이 정상적으로 들어가는 것을 확인할 수 있다. 문제에서 index.php라는 파일 안에 flag가 있다고 했으니까, 저 파일 내용을 열면 된다. 리눅스에서 ;기호(세미콜론)은 다중명령어로, 명령어 두 개를 한 라인에서 실행할 수 있는 것이다. 따라서 127.0.0.1;cat index.php 로 입력해주면 된다. index.php는 소스이므로 입력 해준 뒤에 페.. WebHacking 2020.01.06
[root-me] Backup file backup file에 관한 문제. 아무 문자나 넣고 로그인하면 로그인 안됨. id,pw중 하나에 아무것도 입력하지 않으면 아무 메시지도 출력되지 않고, 아무거나 넣어서 로그인시도하면 no such user/password 라는 메시지가 출력된다. 서버에 등록된 파일(backup file)을 다운로드해서 푸는 문제인듯하다. url뒤에 index.php~를 입력해서 소스파일을 다운로드 받는다. 서브라임텍스트로 열어보니 페이지 소스와는 다른 소스가 나온다. 일단 user id,password가 맨 위에 있다. 이걸 이용해서 로그인 가능하고, 패스워드를 제출하면 포인트 획득 가능. WebHacking 2020.01.06
[root-me] User-Agent 버프스위트로 패킷 잡아봤으나 별다른 내용 없음. 문제 그대로 User Agent를 변형시켜 admin으로 인식하도록 하면 된다. ctrl+shift+i로 개발자 도구로 들어가고, 오른쪽 끝에 있는 설정에서 more tools > network conditions를 누른다. 하단부에 network conditions부분이 생기는데, User Agent부분에서 select automatically부분을 해제, Custom상태로 만들고 "enter a custom user agent"부분에 admin이라고 입력해준다. 그리고 새로고침하면 Welcome master!라고 출력되면서 패스워드를 얻을 수 있다. WebHacking 2020.01.06
[root-me] Javascript - Obfuscation 3 소스코드를 보면 dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30")); 로 되어 있는 것을 볼 수 있다. Oct Decoder를 통해 디코딩하면, 55,56,54,79,115,69,114,116,107,49,50라는 값을 얻을 수 있고, 이는 아스키코드 표를 통해 변환될 수 있다. 아니면 소스를 보고 감으로 콘솔창에 console.log(h)를 입력해서 값을 얻을 수도 있다. WebHacking 2020.01.06
[root-me] XSS-stored 1 크로스 사이트 스크립트 문제. admin의 쿠키 값을 받아야 한다. 아파치 서버를 이용해서 할 수도 있을 것 같은데, 간단하게 requestbin을 이용했다. 사용한 스크립트는 스크립트 document.write(""); /스크립트 인데, img경로에 admin으로부터 데이터를 입력받을 URL을 src속성을 이용해서 지정해줬다. 이 부분에 아파치 서버 주소를 입력해줘도 똑같이 풀 수 있을 듯. img 경로로 스크립트를 짰기 때문에 send message를 하면 사진 파일이 올라간 것처럼 보이게 된다. requestbin에서 만들어놓은 URL로 접속하면 왼쪽 상단에 ADMIN_COOKIE를 받아온 것을 확인할 수 있다. 연결 문제 탓에 한 번에 성공하지는 않았는데, 될 때까지 계속 하다보면 된다. WebHacking 2020.01.06
[root-me] javascript-native code 콘솔에 세미콜론 기준으로 찍어보면 나온다. 다른방법: console.log 로 코드 파악 가능, 세미콜론을 기준으로 console.log를 이용해서 콘솔창에 입력하면 원래 코드를 부분부분 복구 가능 아래 부분이 "return'\141\75\160\162\157\155\160\164\50\47\105\156\164\162\145\172\40\154\145\40\155\157\164\40\144\145\40\160\141\163\163\145\47\51\73\151\146\50\141\75\75\47\164\157\164\157\61\62\63\154\157\154\47\51\173\141\154\145\162\164\50\47\142\162\141\166\157\47\51\73\175\145\154\163.. WebHacking 2020.01.06
[HackThis] Main Level 10 1. robots.txt 2. hash crack using online tool - crackstation.net - hashtoolkit.com WebHacking 2019.09.19