id는 guest로 정해져 있고 id가 admin이면 문제가 풀린다.
get방식으로 정의 할수 있는 부분은 no부분인걸 확인할 수 있다.
preg_match부분을 보면 ' " 등은 우회해서 사용해야하는걸 알 수 있다.
no부분만 정의 할 수 있으니 아예 no 부분을 거짓 처리하고 id=admin을 넣으면 문제가 풀릴 것 같다.
no=0 and id = %27admin%27로 따옴표를 url인코딩한 겂으로 넣어주었는데.. 실패
찾아보니까 두가지 경우로 문제를 해결할 수 있었다.
1) 첫번째는 admin값을 hex값으로 인코딩 하면 해결할 수 있다.
no=0 or id=0x61646d696e
2) 두번째는 no=0 || no=2 무차별 대입 공격이라는 것이 있었다.
참고
https://leeeeye321.tistory.com/171
[Lord Of Sql injection] goblin
[Lord Of Sql injection] goblin $query = "select id from prob_goblin where id='guest' and no={$_GET[no]}"; where 절을 보면 id는 guest로 정해져 있다. if($result['id'] == 'admin') solve(..
leeeeye321.tistory.com
https://tech-dailylife.tistory.com/entry/Lord-of-SQL-Injection-goblin-3%EB%B2%88-%ED%92%80%EC%9D%B4
'보안 > 웹해킹' 카테고리의 다른 글
[lord of SQLinjection] darkelf 문제풀이 (0) | 2021.08.04 |
---|---|
[lord of SQLinjection] wolfman 문제풀이 (0) | 2021.08.04 |
[lord of SQLinjection] orc 문제풀이 (0) | 2021.07.30 |
[lord of SQLinjection] cobolt 문제풀이 (0) | 2021.07.30 |
[lord of SQLinjection] gremlin 문제풀이 (0) | 2021.07.30 |