Webhacking.kr Challenge 3 풀이. 이름부터 Puzzle이니까 일단 막 눌러봤다. 이렇듯 검은색으로 눌리는 곳도 있고,, 안 눌리는 것도 있다.마냥 위의 화면처럼 누르면 안 되고, 숫자들의 배치와 의미를 생각하며 여러 번 눌러봤다. 간단히 말해 가로,세로 규칙이 있다.그 줄에 적혀있는 숫자만큼 그 줄의 칸을 채워야 하고,한 칸에 적혀있는 숫자가 2이상이라면 그만큼 연속되게 채워줘야 한다.gogo를 누르면 아래와 같은 화면이 등장. 임의로 asdf를 누르고 write를 눌렀다. 일단 소스를 보도록 한다. 소스를 간단히 보자면, name만 받는 것이 아니라 hidden 타입으로 answer라는 값 또한 받고 있다.2가지 hidden, text를 웹 페이지에 직접 입력해본다.or,and를 넣..
# Related site issues/WEBHACKING.KR
Webhacking.kr Challenge 7 풀이. 첫 화면이다. auth를 눌렀더니 아래와 같다.url을 보면 val=1라는 값이 전달되고 있다. 일단 소스 보기를 누른다. 별 거 없고, admin mode는 var 값이 2라는 사실과 index.phps를 볼 수 있다는 것을 알 수 있다.일단 var=2를 입력. 위와 같은 화면이 등장. 그리고 index.phps를 봐본다. 일단 db에는 val=2가 존재하지 않는 사실과 union을 이용하라는 말이 있다.union은 일단 간단히 말해 둘 이상의 쿼리를 하나의 결과로 출력해 사용하는 명령어. val이라는 변수를 get으로 받고, 그 값을 go라는 변수에 집어넣고 있다.
Webhacking.kr Challenge 5 풀이. Login을 누르고 임의로 id랑 password를 쳤는데 위와 같은 메시지가 등장한다. Join을 누르니 위와 같이 Access Denied이라는 문구가 등장한다.일단 소스를 본다. script 안쪽을 보면 function no ==> Access_Denied가 나오는 것은 아까 눈으로 확인한 부분이고. function move 부분을 보면 mem/ 디렉터리에 login.php라는 것이 있다. 그럼 아까 join.php라는 것도 있고 총 2개가 있는 것.즉 회원가입을 하고 admin으로 로그인을 해야 문제를 풀 수 있다는 뜻.일단 mem/ 디렉터리가 뭔지부터 확인. 확실하게 mem/ 디렉터리에 join.php, login.php가 있다는 것을 한 번..
Webhacking.kr Challenge 11 풀이. ???? 여태 문제들과는 다른 스타일이다.일단 소스를 보도록 해보겠다. 별 거 없다...보나 안 보나 별 차이 없다. 다시 원래 화면으로 돌아가겠다. 첫번째 줄에 있는 코드를 본다.ip 주소 뒤에 보면 Password라는 것은 유추할 수 있다. 물론 두번째 줄에 echo password is ????를 봐도 알 수 있다.Password를 위해 preg_match 함수를 사용하고 있다.원래 이렇게까지 자세히는 안 봤지만 preg_match는 정규식이 맞으면 true를 리턴하는 함수.$pat과 GET 메소드의 val 파라미터를 비교하는 것을 알 수 있다.if문 앞에 &pat가 있기에 패턴이 주어진 것을 알 수 있고, 패턴이 있다는 것은 정규식을 썼다는 ..
Webhacking.kr Challenge 47. 47번 문제를 클릭하면 나오는 화면.제목에 Mail Header Injection이라는 제목이 존재.서버 문제로 mail 함수를 주석처리 해놓았다는 말이 있는데 참고 정도만 한다.소스를 본다. 별다른 건 없고 index.phps를 보러간다. 일단 POST 방식으로 POST[email]을 입력 받는다.$header="From: $_POST[email]\r\n"; readme내용 => password is $pass.참조 => From $_POST[email]\r\n Mail Header Injection라는 건 header에 cc와 bcc 등이 취약.Cc ==>(Carbon Copy, 참조) 수신자 외 다른 사람에게도 수신.Bcc ==> (Blind Car..
Webhacking.kr Challenge 42 풀이. 첫 화면이다. download 버튼이 2개가 있다.test.txt의 다운로드를 눌렀다. test.zip의 다운로드를 눌렀다. 일단 페이지 소스를 본다. 일단 주석 처리된 부분을 보면 test.zip 패스워드는 숫자로만 되어 있다.test.zip을 받아야 된다. 원래 처음 본 화면으로 들어가서 F12를 누른다. test.txt download 링크는 하이퍼 링크인 주소다.test.zip의 download 링크는 접근 거부[=Access Denied]이 뜨는 하이퍼 링크 주소다.txt에 있던 dGVzdC50eHQ= 는 뭘까?대,소문자 숫자가 있는 것으로 봐서는 인코딩된 문구라고 생각한다.=
Webhacking.kr Challenge 12 풀이. 12번 화면이다.일단 자바스크립트 언어인 것만 알 수 있다.일단 별 다른 것이 없으니 오른쪽 마우스를 눌러 페이지 소스를 본다. 무슨 숫자들이 많이 나열되어 있고, 아래 보면 WorkTimeFun이라는 변수에 String.fromCharCode 함수를 통해 아스키 코드를 알파벳 문자로 바꾸어 저장하도록 되어 있다.그 아래 eval 함수를 통해 이를 실행한다.String.fromCharCode ==> 숫자들을 아스키 코드로 반환.eval ==> 문자열을 자바스크립트 코드로 변환시켜주는 함수.일단 저 숫자들은 앞에서 자바스크립트 언어라는 것을 알았으니 크롬 개발자 도구의 Console에서 실행시켜 봤다. 자바스크립트 코드라는 것을 알 수 있다. 코드를 ..