ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Lord Of SQLInjection orc 오크(?)
    웹해킹/Lord Of SQLInjection 2023. 4. 5. 15:53

    쿼리를 성공시켜야되는데 위에는 됫고 밑에 보면 쿼리를 따로 한번 더 하는데

     

    addslashes() 함수가 있다 이 함수는 ' 같이 db에서 쿼리로 처리되는 특수문자들 앞에 \를 붙여서 쿼리의 일부로 처리되지 않게하는 함수

     

    그 밑에는 입력한 pw값과 실제 쿼리가 수행된 결과인 진짜 admin의 pw값인 result[pw]와 같은 값인지 확인한다

     

    즉 pw에 백날 삽질해봐야 진짜 pw와 같은 문자가 아니면 밑의 if 문에서 다 걸러진다는 것이다

     

    난 이것도 모르고 addlslash 함수 우회문제인줄알고 개헛짓거리만 오지게 했다

     

     

     

     

    알고보니 blind sql, 참 거짓으로 pw를 유추해내야 하는 문제였던 것이었다

     

     

     

    어드민의 비밀번호 길이 부터 알아내자 8일때 hello admin이 출력되는걸 보니 pw의 길이는 8이란걸 알 수 있따

     

     

     그리고 이런식의 익숙한 쿼리가 생각날텐데 이렇게 백날천날 끼워맞추기 하다 그대로 늙어죽는다

     

    그러니 우리는 지적인 방법을 사용해서 pw를 알아내야한다

     

     

     

     

    파이썬으로 매우매우매우 간단한 자동화 코드를 짜보았다

     

    파이썬으로 코드 꼭 짜야되나?? 나도 이런 생각을 했었는데 할 줄 몰라도 이렇게 계속하려고 노력해야 있어보인다

     

    자유자재 내 마음대로 모든 문제를 풀 수 있는 나의 모습을 꿈꾸며 모두 노력해보자

     

    정말 처음보는 사람들을 위해 간단 설명하자면 위의 url 쿠키 (세션키)는 그대로 하면되고

     

    밑의 for i 1~9는 비밀번호 8글자니까 저렇게 해준뒤 그 안에 아스키값 33부터 127까지 하나하나 비교해가면서

     

    맞는지 확인하고 pw문자열에 추가해준다, 어떻게 확인하냐면 응답페이지에 hello admin이 출력되는지 보고

     

    확인하는식으로 이런식으로 계~속~ 해준다 참고로 파이썬 requests는 속도가 줜나 느리니 놀면서 기다리자

     

     

    실행결과, 비밀번호는 095a9852 이로구나

     

     

     

    그대로 쿼리에 넣어주면 크리아

     

     

     

     

     

     

Designed by Tistory.