blind sql injection(3)
-
bugbear 풀이
이번 문제 역시 pw에서 ' 가 필터링되어있습니다. no에서는 ', substr, ascii, =, or, and, (공백), like, 0x를 필터링합니다. no에서의 조건이 저번 문제보다 훨씬 까다로워졌습니다. 우회 방법은 아래에 정리해놓겠습니다. ' -> " substr -> left(), right(), mid() ascii -> ord(), hex() =, like -> instr, in or -> || and -> && (공백) -> /**/ https://zetawiki.com/wiki/SQL_IN_%EC%97%B0%EC%82%B0%EC%9E%90 SQL IN 연산자 - 제타위키 다음 문자열 포함... zetawiki.com like가 필터링돼서 조금 당황스러웠지만, 구글링을 해보니 in이라..
2021.08.30 -
darkknight 풀이
대충 보니 이 문제 역시 Blind SQL injection인 것 같습니다. 이번 문제는 preg_match()를 이용한 필터링이 좀 많습니다. pw는 ' 문자가 필터링되고, no는 ', substr, ascii, =가 필터링됩니다. 각각 우회 방법은 아래에 정리해놓겠습니다. ' -> " = -> like() substr -> left(), right(), mid() ascii -> ord() 우선 pw의 길이를 알아보겠습니다. no=0 or length(pw) like [숫자] 위의 구문을 쿼리에 삽입해서 Hello admin이 뜨는 경우를 확인해보겠습니다. 이제 pw를 알아내기 위해 파이썬으로 코드를 짜서 돌려보겠습니다.
2021.08.29 -
golem 풀이
이번 문제는 admin의 실제 pw를 알아내면 풀리는 문제입니다. 아무래도 Blind SQL Injection 문제 같습니다. 필터링하는 요소들을 보니 or, and, substr(, =의 4가지입니다. or이랑 and는 각각 ||, &&로 우회가 가능합니다. substr(, =은 어떻게 우회를 할지 생각이 나지 않아서 구글링을 좀 해봤습니다. https://m.blog.naver.com/xkdlffpshf/221368224853 PHP 필터링 우회기법 잘 알려지고 자주 쓰이는 연산자,함수는 필터링되기 마련이다. 그래서 php일때 필터링 우회기법을 여기다 ... blog.naver.com shirokawaii님 감사합니다...! 이제 pw의 길이부터 알아보도록 하겠습니다. 1부터 차례차레 브루트 포스 방..
2021.08.22