본문 바로가기

Web22

[SQL Injection] 필터링 우회 정리 공백 문자 우회 공백 (%20) tab %09 line feed (\n) %0a vertical tab (\v) %0b form feed (\f) %0c carriage return (\r) %0d space + +) 괄호 사용도 공백 문자 우회 가능 연산자 우회 OR || AND && like = 함수 우회 (추가예정..) 주석 우회 -- 뒤에 공백이 있어야 주석처리 가능 # 뒤에 공백 없어도 주석처리 가능 (%23) /* */ /*와 */사이 문자열 주석처리 가능 ;%00 %00은 NULL 문자, ;와 결합하면 주석처리 가능 싱글쿼터 우회 더블 쿼터 사용("") 백슬래시 사용(\) 🖤 https://g-idler.tistory.com/61 +) honey tips..🍯 https://ar9ang3.t.. 2021. 9. 27.
[Lord of SQLInjection] darkelf id가 admin이면 풀리는데 guest로 고정되어 있다. 그리고 preg_match로 or과 and 연산자가 필터링 되어 있다.. or과 and 연산자를 우회할 수 있는 방법이 또 뭐가 있을까??? ?pw=0%27%09||%09id=0x61646d696e%23 2021. 9. 27.
[Lord of SQLInjection] wolfman 코드를 보면 id가 admin이면 되는데, guest로 고정되어 있고, pw만 받고 있다. 저번 문제와 비슷한 방식으로 풀어보면 되지 않을까 싶다. (and와 or 우선순위 사용) 근데 공백이 필터링 되어있다. (기존 방식으로 하려면 or 앞 뒤로 공백이 필요..) 공백을 대신할 수 있는 걸 써보자 ?pw=0%27%09or%09id=0x61646d696e%23 성공! 2021. 9. 23.
[Lord of SQLInjection] goblin 코드를 보면 이거도 id가 admin이면 해결되는 문제인 것 같다. 근데 다만 이미 id에 guest가 들어있다. 그러면 어떻게 admin을 넣지 ..? AND와 OR 우선순위를 사용하면 된다 . 일단 입력받는 부분은 no 밖에 없다. SQL 쿼리에서 AND연산자가 OR연산자보다 우선순위에 있다. 따라서 where ( id='guest' and no=0 ) no에 0을 적어주면 and로 엮어있는 앞의 id가 함께 거짓이 되버리고, 뒤에 새롭게 id값을 admin으로 넣어주면 된다. ?no=0 or id='admin' 싱글쿼터가 필터링 되어 있었ㄷ ㅏ.. ?no=0%20or%20id=0x61646d696e admin을 16진수로 바꿔서 넣어주면 성공! 2021. 9. 22.
728x90