write-up(web)/LOS

    [Lord of SQLInjection] poltergeist write-up

    [Lord of SQLInjection] poltergeist write-up

    문제 화면 및 소스 코드입니다. 플래그는 다른 테이블에 있습니다. mysql에서 information_schema은 없지만 대신 sqlite_master가 있습니다. sqlite_maste의 name에 테이블 네임이 저장되어 있습니다. 테이블 이름을 알아냈습니다. 해당 테이블을 조회하는 플래그 값이 나왔습니다. 끝! 레퍼런스 https://training-1.tistory.com/148 SQLite에서 information_schema rootme-.org에는 SQLite로 된 문제가 종종 있다.(심지어 postgreSQL도 있다.) SQLite에는 information_schema가 없다.그대신 SQLite에는 sqlite_master라는게 있다. 테이블 명과 컬럼 명을 빼낼 때 아래와 같이 하면 된 ..

    [Lord of SQLInjection] banshee write-up

    [Lord of SQLInjection] banshee write-up

    문제 화면 및 소스 코드입니다. admin의 pw를 구하는 문제입니다. 그동안 계속 해왔던 blind sql injection 문제입니다. 쿼리가 참이면 아래와 같이 login success!가 나옵니다. length 함수, substr 함수, unicode 함수를 활용해서 파이썬으로 코드를 짜줍니다. 끝!

    [Lord of SQLInjection] manticore write-up

    [Lord of SQLInjection] manticore write-up

    문제 화면 및 소스 코드입니다. 쿼리문의 결과로 admin을 가져오면 됩니다. mysql과 달리 sqlite에서 addslashes는 제대로 동작하지 않는다고 합니다. 이 함수는 이스케이프를 하기위해 백슬래쉬(\)를 추가해주는데 sqlite는 추가하는 백슬래쉬까지 그냥 문자열로 받아들인다고 합니다. 따라서 싱글쿼터를 활용할 수 있습니다. 물론 admin을 직접 입력하긴 어려움으로 char 함수를 사용합니다. 위 내용을 종합해서 쿼리를 짜주면 끝!

    [Lord of SQLInjection] chupacabra write-up

    [Lord of SQLInjection] chupacabra write-up

    문제 화면 및 소스 코드입니다. dbms가 mysql에서 sqlite로 바꼈습니다. sqlite에서 주석처리는 --를 사용합니다. 주석을 이용하면 문제를 풀 수 있습니다. 끝!

    [Lord of SQLInjection] cyclops write-up

    [Lord of SQLInjection] cyclops write-up

    문제 화면 및 소스 코드입니다. 주석을 보면 union select를 사용하라고 나와 있습니다. 필터링을 열심히 우회하다 짜증나서 라업을 살짝 보니 공백은 부분 주석인 /**/로 처리하고 id에는 null을 주기위해 '-1'