분류 전체보기257 lord of sql injection 7번 - orge 이번 문제도 and와 or를 필터링하니 || 와 &&로 사용해주어야 겠네요.기본 쿼리를 넣으니 잘 들어갑니다. 이번 문제도 보아하니 pw를 블라인드 sql 인젝션으로 맞추어야 하는 문제입니다! 전에 했던 문제와 같은 방식인데 and or 필터링만 추가된 것이네요. 이후 구문을 넣을때 and 구문을 넣어야 해서 &&을 넣었습니다. 근데 이상하게 인식이 되질 않네요. && 구문을 인식하지 못합니다. &&은 %26%26 으로 URL 인코딩 되어 들어가게 됩니다. 그래서 && 대신 %26%26을 넣어주니 정상적으로 작동하네요. 전문제와 똑같이 ascii 코드로 변환한 substr 함수로 추출한 문자를 정수값과 일일이 비교해서 찾아내는 작업을 해줍니다. 아스키 코드표를 활용하니 처음 아스키코드는 55, 즉 정수값.. 2023. 12. 21. lord of sql injection 6번 - darkelf 이번 문제는 딱 봐도 or 구문과 and 구문을 필터링하는것 같네요 확실히 or 문자열이 들어가니 필터링이 되어서 넘어가질 못하네요. and는 && 문자열로 되고 or 는 || 문자열로 되니 이 문자열을 써봅시다. OR 대신 || 를 넣어주니 잘 들어가게 되었습니다. 1=1 대신 id='admin'으로 변경해서 패스 2023. 12. 21. lord of sql injection 5번 - wolfman 우선 평소처럼 ' OR 1=1--+- 구문을 넣어주었습니다. 그러니 No white space라는 오류메시지가 나오네요 코드를 보니 공백문자를 필터링하는것 같으니 공백문자를 우회해주어야합니다. 공백을 대체할수 있는 우회 구문은 여러가지 있는데 여기서는 %09를 사용해 보겠습니다. 위처럼 %20이 써진 스페이스바 url 구문을 %09로 전부 변경해 주었습니다. --+- 주석을 쓸경우 +가 공백으로 인식되고 이것 또한 필터링이 되기때문에 +도 %09로 변경했습니다. 오 이렇게 하니 쿼리가 정상적으로 들어갔습니다. 그러면 solve 구문이 나오게 하기 위해 id=admin을 뽑아내는 쿼리를 넣어주면 되겠죠 간단하게 ' OR 1=1이 아니라 ' OR id='admin' 으로 쿼리를 넣어주면 패스 2023. 12. 21. lord of sql injection 4번 - orc 이제 익숙한 쿼리 구문을 바로 넣어봅니다. Hello admin이 나오네요. 그런데 코드를 보니 pw를 검증하는 구문으로 인해 실질적인 pw를 알아야 패스할 수 있을거 같네요. 우선 쿼리에 1=2라고 넣으면 Hello admin이 나오지 않네요. 즉, 거짓인 상황에서는 hello admin 메시지가 나오지 않고 참인 상황에서는 hello admin이 나오는 것이겠죠. (1=1 --+- 코드가 참이라는 뜻이니) 이런식으로 SQL 인젝션은 오류메시지를 활용해 해킹이 가능한 것입니다. 비밀번호를 알기 위해선 블라인드 sql 인젝션을 써야할거 같습니다. substr(pw,1,1) 함수는 pw 의 1번째 글자부터 1번째 글짜까지 추출하는 것입니다. 즉, pw의 첫번째 글자를 추출하겠죠. 이것을 추출해서 ascii.. 2023. 12. 21. 이전 1 ··· 40 41 42 43 44 45 46 ··· 65 다음