본문 바로가기

Los4

[Lord of SQLI] succubus, zombie_assassin, nightware, xavis, dragon 풀이 succubus id, pw 에서 ' (싱글쿼터)를 필터링하고있다. 그래서 \ (슬레시) 를 이용해야한다. id 에\ 를 넣는다면,id='\' and pw='' 여기서 \' and pw= 부분이 id 가 되니 pw 에 or 문을 넣어서 임의 계정을 뽑아올 수 있다. payload : id=\&pw=+or+1=1%23 zombie_assassin addslashes 으로 sqli 를 막는 것처럼 보이는데, ' -> \' -> '\ 이런식으로 변한다. 그래서 succubus 문제처럼 pw= 까지 id 로 인식하게 해서 풀면 된다. 근데 싱글쿼터를 넣으면 id=''\ 가 되어 쿼리가 망가지기 때문에, 더블쿼터를 넣어야 한다. pw 는 위에서 썼던거 꺼꾸로 입력하면 된다. payload : id="&pw=%23.. 2022. 2. 19.
[Lord of SQLI] golem, darkknight, bugbear, giant, assassin 풀이 golem admin 의 pw 를 알아내면 되는, blind sql injection 문제다. or, and => ||, && 으로 우회 substr => left 로 우회 '=' => like 로 우회 이런느낌으로, blind sqli 소스를 짜보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import requests import string s=requests.Session() url='https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php?pw=' pw='' for i in range(1,9): for c in string.digits+string.ascii_lowercase: query="' .. 2021. 7. 28.
[Lord of SQLI] darkelf, orge, troll, vampire, skeleton 풀이 darkelf and 와 or 을 필터링해놨다. 근데 || 랑 && 로 우회할 수 있당. select id from prob_darkelf where id='guest' and pw='' || id='admin' && '1' pw=' || id='admin' %26%26 '1 %26 은 & 을 의미하는데, 쿼리를 넣을 때, & 는 값들을 구분하기 위해 사용하기 때문에 %26 으로 urlencode 처리해서 넣어줘야한당. orge 지금부터 소스코드도 같이 붙여넣어야겠다. or 과 and 를 필터링하고 있으며, 아까처럼 &&, || 을 통해 우회해야한다. 근데 이거는 orc 문제처럼 admin 의 pw 를 맞춰야한다. orc 문제와 똑같이 8글자인 것을 확인했다. 전에 썼던 소스코드 조금만 수정해서 쓸 수 .. 2021. 5. 26.
[Lord of SQLI] gremlin, cobolt, goblin, orc, wolfman 풀이 gremlin pw=' or '1 id 신경안쓰고, pw 조건문만 참으로 만들어주면 된다. cobolt select id from prob_cobolt where id='admin' or '1=1' and pw=md5('') pw 를 md5 해쉬해서, 아까와 같은 방법으로는 sqli 할 수 없다. 그래서 아이디 부분을 참으로 만들고, 주석처리해서 뒷부분을 무시하게한다. id=admin' or '1=1# goblin select id from prob_goblin where id='guest' and no=1 or id=0x61646d696e 쿼터, 더블쿼터를 쓸 수 없다. 하지만 no 를 입력받는 부분에는 쿼터가 사용되지 않아 우회할 필요가 없다. no=0 이면, guest 가 출력되니, 1 로 준다음,.. 2021. 5. 25.