sql injection(2)
-
[webhacking.kr] Challenge_old-27 문제풀이 (SQL Injection)
SQL INJECTION이라고 떡하니 써져있다. 소스를 보면 select # ( limit 공백 = 0x 을 필터링하고있다.no의 값을 get으로 받는데 ()괄호로 둘러쌓여있고 admin로 접근하면 된다. 입력값은 2) or no like 2 -- 공백은 %09로 입력했다. 주의할 점은 --주석 뒤에도 공백을 입력해줘야 한다는 점! [리뷰] 내가 제일 약한 부분인 sql...아놔 언제까지 약할 셈인지...? 저 --주석 뒤에 공백넣는것때문에 엄청 머리를 싸맸다. 심지어 예전에 본 풀이인데...그걸 고새 또 까먹네....역시 복습복습복습이다. 좀 더 sql이랑 친해져야....(친해지기 싫음)
2024.08.04 -
[webhacking.kr] Challenge_old-18 문제풀이
이번엔 SQL Injection문제다. preg_match로 DB에 접근할 수 있는 SQL 쿼리문을 필터링하는 것으로 보인다. select, from, &, |같은 문자를 대소문자 모두 확인해 아래와 같이 해킹하지 말라는 메세지로 돌려준다. DB쿼리를 보면 chall18 테이블에서 id가 guest이고 no가 입력값인 경우의 id를 가져와서 결과값으로 반환한다. 1을 입력하면 hi guest라는 메시지가 나온다. //admin's no = 2 라는 주석을 참고하여 url 뒤에 no=0%09or%09no=2라고 입력해 앞의 guest와 no를 확인하는 값을 false값으로 만들고 뒤에 or no=2를 입력해서 admin으로 접근 할 수 있다.
2021.11.14