개인 공부/WEB46 [웹해킹] LOS 22 - (Dark_eyes) Lord of sql injection - Dark eyes 풀이 los 22번 dark eyes에 대한 풀이 포스팅입니다. 문제 접근 if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/col|if|case|when|sleep|benchmark/i', $_GET[pw])) exit("HeHe") 계속해서 필터링이 큰 힌트가 되어주는 느낌이다. 21번 문제와 마찬가지로 time based sql injection에 대해 제한을 거는 것 같고, 추가로 if와 col,case when 에 대한 필터링도 있다. error based sql injection 문제인것같은데 21번 문제와 다르게 에러가 출력되지않는다.. 2021. 7. 3. [웹해킹] LOS 21 - (Iron Golem) Lord of sql injection - 풀이 LOS 21번 iron golem에 대한 풀이 포스팅입니다. 문제 접근 if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/sleep|benchmark/i', $_GET[pw])) exit("HeHe"); 필터링 조건을 살펴보면, sleep 함수와 benchmark함수를 필터링하고 있다. 즉 지난 과제에서 다루었던 time based sql injection을 제한하는것으로 보인다. 따라서 접근 방법을 error based sql injection이라 생각하고 접근해야할것 같다. union select를 이용해서 1개 이상의 행을 반환할때 에러가 발생되는 것을.. 2021. 7. 3. [웹해킹] LOS 20 - (Dragon) Lord of sql injection - Dragon 풀이 los 20번 Dragon 풀이입니다. 문제 접근 먼저 필터링 조건을 살펴보면, \ _ . () 으로 상대적으로 적은 필터링입니다. 조금 특이한 점은 쿼리문을 살펴보면, id가 게스트인 계정의 pw를 입력하는데, 구문 앞에 주석처리가 되어있어서 어떤 값을 입력하든 다 주석 처리가 되어서 의미가 없어진다는 것입니다. $query = "select id from prob_dragon where id='guest'# and pw='{$_GET[pw]}'"; 문제를 해결하는 조건은 if($result['id'] == 'admin') solve("dragon"); admin 계정을 얻어와야합니다. 따라서 지금까지 내용을 정리해보면, 1. pw에 입력하는.. 2021. 6. 19. [웹해킹] LOS 19 - (Xavis) Lord of sql injection - Xavis 풀이 los 19번 Xavis 문제풀이입니다. admin 계정의 pw를 입력해서 admin 계정의 pw가 맞다면 해결되는 문제입니다. 문제 접근 admin계정의 pw를 알아내는 blind sql injection 문제입니다. 필터링을 먼저 살펴보면 like와 regex에 걸려있습니다. regex는 처음 접해봐서 무엇인지 찾아보니, 다중 like 문을 사용해야 할때 간단한게 줄여주는 함수라고 합니다. 우선 문제에 필터링 조건이 많이 없으므로 쉽게 참을 만들 수 있습니다. Hello admin이 출력되는 모습입니다. 출력 문구를 찾았으므로 brute forcing을 통해 길이를 구해보겠습니다. 1. pw 길이구하기 ?pw=%27or%20id=%27admi.. 2021. 6. 19. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음