목록Hacking & Security (134)
선릉역 1번 출구

일단 작은 따옴표를 거리고 strtolower()함수를 사용해서 소문자로 change로 바꾼다. 그리고 str_replace()함수를 사용해서 admin을 없앤다. 1. 역슬래시 사용하기 ?id=ad\min 2. str_replace() 함수 이용하기 "admin"을 ""으로 바꾸기 때문에 aadmindmin을 admin으로 바꾼다. 그래서 ?id=aadmindmin을 넣으면 clear된다.

o를 goal까지 옮기는 문제이다. o에 커서를 올리면 you로 바뀌고 click시에 +1만큼 오른쪽으로 움직이게 설정되어있다. +1씩 goal까지 움직이려면 1600번을 눌러야해서 페이지 소스를 아래처럼 고쳐서 한번 클릭했을 때 +1599이 되게 했다. 지금 위치한 position이 +1이기 때문에 1+1599=1600 코드 수정후 o를 누르면 바로 goal로 이동하고 문제가 풀린다 ㅎㅎ solve

문자열 or, and를 막고 _, {}, .도 막는다. or을 막으니 ||을 사용하면 될 것 같다. ?pw=0%27||id=%27admin 전 문제와 아주 유사한 문제라서 패스하겠다.

view-source를 눌러서 소스코드를 확인하자 중요한 php코드만을 확인해보면 id가 admin일 때 풀리는 것 같다. 공백을 거르기 때문에 공백을 %09로 표현해주자 ?no=0%09or%09no=2 //admin의 no가 2임 solve!

이번에는 공백을 막았다. or를 막기 위함인데 이는 ||으로 대체해서 공략할 수 있다. 1. || 사용하기 pw가 ''로 선언되어 있기 때문에 query는 아래처럼 작성해준다. (%27->') ?pw=1%27||id=%27admin 2. 주석으로 공백을 대체하기 ?pw=1'%09or%09id='admin //%09 = tab이고 tab으로 공백을 대체해주었음

prob, _, ., (), ', ", `의 문자를 막는다. solve 조건은 result['id'] value가 admin이면 풀린다. 1. 문자말고 아스키코드 Hex 값의 형태로 작성하기 'admin'에서 ''가 막혀있기 때문에 이 형태를 아스키코드 값인 0x61646d696e로 작성한다. p?no=2%20||%20id=0x61646d696e 2. admin의 no를 찾기 admin의 no = 2였음 3. 문자열의 아스키 값을 char() 함수를 통해 문자열로 변환하기 ?no=2 || id = char(97, 100, 109, 105, 110) 4. ord() 함수 사용하기 ord() 함수는 ()안 parameter의 맨 왼쪽 값을 반환하는 함수로 제일 왼쪽 값(a) = 97인 id를 반환하게 한다.