반응형
webhacking.kr old 59번 문제풀이(Writeup)
문제를 들어가면 위와 같이 출력된다. 코드가 있으니 코드부터 확인하자.
핵심은 로그인할 때 lv가 admin이면 문제가 해결된다. 먼저 몇 가지 테스트 값을 넣어보자.
보면 id와 phone이 넘어가고 그와함께 lid와 Iphone 값이 함께 전달되는 것으로 보인다.
이번엔 login에서 같은 값을 넣으니 lid와 lphone에 값이 전달된다.
id는 저장되고 lv는 로그인될 때 지정되는 것으로 보인다.
mysqli_query($db,"insert into chall59 values('{$_POST['id']}',{$_POST['phone']},'guest')");
데이터베이스에 insert할 때 모습이다. 뭔가 여기서 SQL Injection이 될 것 같았다. phone 값을 준 후 guest 말고 admin을 주면 될 것 같아 보인다.
mysqli_query($db,"insert into chall59 values(id,1,admin)--,'guest')");
이런 식으로 주는 것이다. 하지만 admin이 필터링이 되고 있어서 제대로 작동하지 않는다. 진짜 갖가지 SQL Injection 쿼리를 넣었는데 잘 안됐다. 그래서 마지막으로 내장 함수를 찾는 중에 reverse() 함수가 존재한다는 것을 알게 되었다. 혹시 해서 넣었다.
join이 되고, login을 해보니 admin으로 로그인이 된다.
728x90
'웹해킹 > webhacking.kr' 카테고리의 다른 글
webhacking.kr old 49번 문제풀이(Writeup) (0) | 2022.10.30 |
---|---|
webhacking.kr old 56번 문제풀이(Writeup) (0) | 2022.10.29 |
webhacking.kr old 61번 문제풀이(Writeup) (0) | 2022.10.27 |
webhacking.kr old 51번 문제풀이(Writeup) md5(,true) 취약점 (0) | 2022.10.26 |
webhacking.kr old 43번 문제풀이(Writeup) (0) | 2022.10.25 |