WarGame/LOS(22)
-
22. LOS - dark_eyes
바로 전에 error based가 나왔는데 이번에 if 와 같은 조건문들이 모두 막혀있어서 깜짝 놀랐습니다. https://los.rubiya.kr/chall/dark_eyes_4e0c557b6751028de2e64d4d0020e02c.php?pw=12%27or%271=1%27%20--%20- 참이 나오면 이렇게 나오지만, 쿼리가 거짓이 나오게 되면 아무것도 나오지 않아서 blind error based로 볼 수 있지만 조건문들이 모두 벤먹어서 어떻게 풀어야할지 고민했습니다. 이전에서 select 1 union select 1 구문을 그냥 if문 조건 없이 바로 박으면 되지 않을까 생각했고. https://los.rubiya.kr/chall/dark_eyes_4e0c557b6751028de2e64d4d0..
2021.02.03 -
21. LOS - IRON_GOLEN
처음 접한 error based sqlinjection 이였습니다. if문에서 조건문에 거짓이 나오면 error을 출력하게해서 풀리는 구조의 문제입니다. 처음 쿼리가 이렇게 구성되어있고, sleep과, benchmark 가 벤이 되어있으므로 timebased가 아니라고 생각하였고, '를 잘못입력했는데 에러가 출력되어서 error based인것을 확인했습니다. import requests import string cookies = {'PHPSESSID': '41dujejs6ln5lnj8ni9p7ik5bb'} #https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or%20substr(pw,1,1)%20=%20%22..
2021.02.02 -
20. LOS - DRAGON
혀누랑 함께 디코로 통화하면서 문제를 풀어서 훨씬 수월하게 풀었다. 현우는 개빡고수인게 분명하다. 처음에 이렇게 나와있는데, #이 한줄 주석이니까 개행문자를 넣어줘서 풀면 될 것 같다고 생각했다. 앞에 guest가 있으니까 and연산으로 앞에를 무효화 시켜주고, 뒤를 or연산으로 admin 박아주면 풀릴것이다. https://los.rubiya.kr/chall/dragon_51996aa769df79afbf79eb4d66dbcef6.php?pw=%27%0a%20and%20pw%20=%20-1%20or%20id%20=%20%27admin%27%20--%20- 이렇게 쿼리를 넣어주니까 query : select id from prob_dragon where id='guest'# and pw='' and pw ..
2021.02.01 -
19. LOS - XAVIS
https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or%20id%20=%20%27admin%27%20and%20length(pw)%20=%2012--%20%20-\ 입력하게 되면 12라는 길이를 알 수 있습니다. 평소에는8이였는데 12? 라고 하니까 뭔가 조금 이상한데 일단 쿼리는 맞으니까 계속 이어나갔습니다. 기존과 동일하게 substr함수를 활용해서 문자열을 맞추어나갔는데 쿼리를 URL = "https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or id = 'admin' and substr(pw,"+str(i)+..
2021.01.31 -
18. LOS - NIGHTMARE
문제를 보면 pw를 참으로 만들어주고, 뒤를 주석처리해주면 될 것같다. 하지만 -- - 와 # 가 모두 필터링당해서 다른 주석 처리인 ;%00 을 사용해야한다. 앞에 pw 를 찾을 만들어주기 위해서는 sql 자동 형변환을 이용하면되는데 'a'=0 (참) a = int --> 0 이므로 이를 이용하면 된다. 따라서 payload : ?pw=')=0;%00 성공이다.
2021.01.30 -
17. LOS - zombie_assassin
해당 문자에서는 strrev() --> 문자열 뒤집기 addslashes --> \ 추가 필터링이 들어가있다. select id from prob_zombie_assassin where id='' and pw='' 쿼리에서 id에 "를 넣어주게 되면 query :select id from prob_zombie_assassin where id='"\' and pw='' 처럼 처리가 된다. 그러면 id=("\' and pw = ) 까지를 id로 인식하기 때문에 뒤에 or 1=1 -- - 넣어주면 된다. los.rubiya.kr/chall/zombie_assassin_eac7521e07fe5f298301a44b61ffeec0.php?id=%22&pw=%20-%20--1=1%20%20ro 뒤집어서 넣어줘야하는거..
2021.01.30