3. 웹 애플리케이션 취약점 진단136 lord of sql injection 9번 - vampire 이번에도 필터링을 우회해야 하는것 같다. 우선 전과 같이 ADMIN으로 대문자로 넣어보았다. strtolower 함수가 ADMIN을 소문자로 바꿔버리고 str_replace 함수가 그 문자 즉, admin을 공백으로 바꾸어 버리기 때문에 필터링이 되어 admin이 들어가질 않는다.. str_replace 함수를 이용한 필터링에는 심각한 취약점이 있는데 그건 바로 단 한번만 필터링을 수행한다는 것이다. 즉, ADADMINmIN 이런 방식으로 구문을 넣는다면 가운데의 ADMIN이 필터링되어 사라지고 양옆에 붙은 AD 와 mIN이 붙어 결국 ADmIN 값이 쿼리로 넘어가게 된다. 그런 방식으로 쿼리를 넣어주면 클리어. 2023. 12. 21. lord of sql injection 8번 - troll 이번 문제는 admin을 필터링 하는데 id가 admin이면 패스하는 문제이다. 어떻게 하면 admin을 넣을 수 있을까? 문자열을 필터링 하는 경우 대소문자를 모두 필터링 하지 않는 경우가 있다. 이런 경우 ADMIN이나 AdMIN, adMiN 등 대소문자를 섞어서 넣으면 쿼리가 통과되는 경우가 있다. 이 문제도 마찬가지로 id에 AdMIN이라고 넣으니 필터링을 우회하여 패스가 되었다. 2023. 12. 21. 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. 이전 1 ··· 14 15 16 17 18 19 20 ··· 34 다음