본문 바로가기

전체 글

(215)
[Load of SQLinjection][LOS] 문제풀이 golem LOS 11번 문제 GOLEM substr, = 등 다 필터링한다 = 은 like 쓰면되고 substr은 right 또는 mid를 쓰면 된다. 우선 length로 pw 길이를 알아낸다. 그 후 코딩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import requests length=8 url="https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php" header = {'cookie' : 'PHPSESSID='} for i in range(1,9): for j in range(48, 128): sub_url = "?pw="+"1' || id like 'admin' %26%26 mid(..
[Load of SQLinjection][LOS] 문제풀이 skeleton LOS 10번째 문제 skeleton 이번엔 쿼리 끝에 and 1=0이 붙었다. 그런데 신경 안쓰고 그냥 주석 처리하면 되지 않나싶다. 진짜 주석 처리하니 풀린다. POC : pw=1'or id='admin'%23
[Load of SQLinjection][LOS] 문제풀이 vampire LOS 9번째 문제 vampire str_replace를 사용하고 admin을 빈문자열로 만든다. 그럼 adadminmin으로 하면 어떻게 될까? php 개발을 좀 해보신분들은 보자마자 풀만한 문제인거 같다. ?id=adadminmin
[Load of SQLinjection][LOS] 문제풀이 troll LOS 8번째 문제 troll이다. php 개발자라면 ereg와 eregi가 왜 사라졌는지 알고만 있으면 풀 수 있다. 일단 문제를 풀면서 살짝 이해가 안가는 부분이 있다. 기존에 ereg취약점으로 알고 있었던 %00(null byte)를 붙여주면 우회가 된다. 흠 이게 ereg자체는 우회하는데 db에서 처리될때 %00을 같이 처리하는 것 같다. 그럼 ereg다른 취약점인 대소문자로 가보자. Admin하면 풀린다. aDmin해도 풀리고 ADMIN 해도 풀린다. :)
[Load of SQLinjection][LOS] 문제풀이 orge LOS 7번째 문제 orge 이다. 뭔가 어디서 많이 본 문제 아닌가? 근데 and 대신 &&를 넣었는데 안된다 여러번 다르게 시도하다가 혹시나 싶어서 url encode 값으로 시도하니 잘된다... https://www.degraeve.com/reference/urlencoding.php 길이를 알아내기 위해
[Load of SQLinjection][LOS] 문제풀이 darkelf LOS 6번째문제 DarkElf 이다. 이번엔 or 하고 and 를 막아났다. pw를 인자로 받는다. or이나 and만 되면 된다. ||, &&라는 좋은 친구들이 있다. POC : ?pw=1%27%20||%20id=%27admin%27%23
[Load of SQLinjection][LOS] 문제풀이 wolfman LOS 5번째 문제다. 스페이스바를 막아놨다. --;; 그냥 탭으로 대체하면된다. https://www.degraeve.com/reference/urlencoding.php 위 사이트에 보면 url encode 값들을 알 수 있다. 우리가 계속 쓰던 스페이스바(띄어쓰기)는 %20이다. 탭은 %09이다. 띄어쓰기부분을 모두 탭으로 바꿔주면 된다. POC : ?pw=1%27or%09id=%27admin%27%23
[Load of SQLinjection][LOS] 문제풀이 orc LOS 4번째 ORC 자 코드를 보자 해석하면 pw를 get으로 받는데 id는 admin으로 고정되어 있다. 첫번째 result 쿼리가 참일 경우 hello admin을 뿌려주고 첫번째는 특 쿼리는 특수문자를 사용할 수 있지만. 두번째 쿼리는 addslashes를 사용하기 때문에 특문이 막힌다. 그리고 처음 입력한 pw와 addslashes 처리된 pw가 일치하면 orc를 풀어준단다. 한마디로 정확한 비밀번호 찾아내란 소리다. 그럼 뭘하면 될까? 우선 우리에게 주어진것은 특정 쿼리가 주어졌을때 해당 값이 참인지 거짓인지 알 수 있다는 점이다. 참, 거짓을 알아낼 수 있으면 blind sql injection 을 할 수 있는 가능성이 있다. 우선 길이를 알아내야한다. mysql의 length 함수를 사용하..