Write-Up/LOS (lord of sql injection) (28) 썸네일형 리스트형 [Lord of SQL Injection] 20번 dragon #이 달려있어서 pw에 어떤값을 넣어줘도 다 주석처리되어 무용지물이 된다, %0a : 개행 개행을 이용하여 입력값을 주겠다 ?pw=%0a and pw='' or id='admin'%23 [Lord of SQL Injection] 19번 xavis 보호되어 있는 글입니다. [Lord of SQL Injection] 18번 nightmare -과 #이 필터링이라 주석은 사용하지 못하고 pw길이가 6개가 넘어가면 안된다. id부분을 주석으로 날려줘야 될것 같다 주석 처리 방법은 -- # /**/ ;%00이 있다. 이문제를 풀기위해 자동형변환 이라는 것을 공부해야한다. limjunyoung.tistory.com/121 [SQL] MySQL Automatic Type Cast MySQL의 자동 형 변환에 따른 특성에 대해 설명하겠습니다. 다음과 같은 테이블을 생성하겠습니다. "user" Column은 Char타입이고 "no" Column은 Int타입 입니다. Records는 다음과 같이 2개를 넣겠습니다. 이 limjunyoung.tistory.com [Lord of SQL Injection] 17번 zombie_assassin 굉장히 애먹었던 문제이다. strrev 함수를 잘 몰라서 대충 쳐봣더니 abcd를 입력하면 dcba로 바꾼다 처음 아이디값은 \를 "를 넣어서 아예 문자열로 만들어버리고 pw값이 strrev 함수로 바뀌니까 pw값을 pw=%23 1=1 ro를 입력하면 pw=or 1=1 로 들어간다. [Lord of SQL Injection] 16번 succubus 싱글쿼터를 우회해야한다. \는 싱글쿼터를 문자열 취급으로 바꿔준다 id=\을 입력하면 id 값에 \를 집어넣고 pw는 pw=||1로 만들어버려 항상 참이게 만들어주자 [Lord of SQL Injection] 15번 assassin 보호되어 있는 글입니다. [Lord of SQL Injection] 14번 giant 후 지옥같은 blind sql injection 에서 벗어났다. result 1234면 문제가 풀린다고 나와있다. 쿼리를 잘 보면 fromprob_giant라 제대로 실행되고 있지 않다. 여기서 from뒤 공백을 입력해줘서 쿼리만 제대로 실행시켜주면 select 1234니 문제가 풀릴것 같다. 공백을 넣는 방법은 %09 (tab \t) %0a (linefeed \n) %0b (vertical tab) %0c (form feed) %0d (carriage return \r) 이렇게 있다 여기서 필터링된 %09 %0a %0d 제외하고 %0b입력해준다. [Lord of SQL Injection] 13번 bugbear drarkknight문제와 비슷한데 like 0x가 필터링된다. hex를 쓸수 없다. like는 in으로 대체하고 공백은 주석으로 넘겨주자. pw길이를 알기위해 넣어주었다. no=2/**/||/**/id/**/in("admin")/**/%26%26/**/length(pw)/**/in(8) bin(ord('a')) 이용하면 2진수로 1글자씩 뜯어올수 있다. admin을 2진수로 다 변환시켜서 넣어보자 import requests cookies= {'PHPSESSID':'bme8kemqnchvr6qmbblqpbbs05'} url = 'https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?' pw = '' for i in range(.. 이전 1 2 3 4 다음