본문 바로가기

[webhacking.kr] Challenge 18 :: SQL Injection (limit) ▼ Challenge 18은 다음과 같습니다. ▼ index.phps로 들어가 봅시다. 친절하게도 내부 PHP 코드를 올려 놓았습니다. ereg() : 해당 문자열 검색 (대,소문자 구별)eregi() : 대,소문자 구별 없음 no라는 변수를 받아서 eregi()에 들어있는 문자와 일치하면 "no hack"이라는 문자를 띄운다고 합니다. sql의 결과는 배열로 변환하여 $q 변수에 대입합니다. 필터링을 피해서 or과 limit를 이용하여 바로 문제를 풀어보도록 하겠습니다. 직접 DB를 만들어서 실습해 보았습니다. 방법은 2가지로 생각해 보았습니다. sql에는 연산자 우선순위라는 것이 있는데 and가 or보다 우선순위가 높기 때문에 and 부터 연산을 하게 됩니다. 첫번째 sql문에서는 and 연산은 Fa.. 더보기
[webhacking.kr] Challenge 17 :: Javascript ▼ Challenge 17은 다음과 같습니다. ▼ 소스코드를 보니 다음과 같은 Script가 있습니다. Unlock을 맞추면 Password 가 뜨겠군요. Javascript는 Client의 Browser에서 작동하기 때문에 주소창에 javascript:alert(unlock) 이라고 입력하면 별도의 계산없이 바로 확인하실 수 있습니다. 더보기
[webhacking.kr] Challenge 16 :: Javascript ▼ Callenge 16은 다음과 같습니다. ▼ 소스코드를 보니 Javascript에 mv라는 함수가 있습니다. 별을 움직이게 하는 함수인 것 같습니다. cd변수에 Ascii 값을 입력 받아 움직이고 있습니다. 마지막 Ascii 124 (|) 는 location.href로 웹 페이지 이동이 되어 있네요. 바로 눌러보니 Key 값이 나왔습니다. 참고) String.fromCharCode() : 유니코드 문자 값을 문자열로 반환 더보기