반응형
일단 2번 문제를 들어가면서 주의해야할 점은 1번 문제와 다르게 pw 가 md5로 암호화 되어 있다는 것이다.
하지만 이 외에는 1번 문제와 엄청나게 차이가 나지는 않는다. 1번 문제를 풀땐 아이디를 입력할 필요가 없기 때문에 php 뒤에 ?pw='or'1'='1 만 입력해준다면 sql 특성상 시스템에서 자동으로 ' 를 씌워주기에 or '1'='1' 가 되어 구문이 끝나게 된다. 이에따라 뒤의 1 = 1 가 참이기 때문에 모두 참이 되어 1번 문제가 풀리게 되는 것이다.
그렇다면 2번 문제에서는 어떻게 해야할까
먼저 답부터 말하자면 ?id=admin' or pw=' 를 입력하게 되면 된다.
pw 는 md5 형식으로 인해 암호화되기 때문에 직접 적게 된다면 암호화 되어서 injection 을 할 수 없게 된다.
그렇기때문에 이 구문에서는 우회해주기로 한다 사진처럼 admin 이 참이 되면 풀리기 때문에 ' 를 써서 구문을 닫아서 pw를 우회해줍니다 그 후 or 을 써 준다면 or 에 의해서 pw 는 우회가 되었고 admin 은 참이기 때문에 문제가 풀리게 된다. ( 따라서 굳이 ?id=admin' or pw=' 이렇게 쓰지 않고 ?id=admin' or '1'='1 이렇게 써져도 문제는 풀린다)
반응형
'Web' 카테고리의 다른 글
노드 JS CSS 가 불러와지지 않을때 솔루션 (0) | 2022.09.28 |
---|---|
웹해킹 소수전공 과제 1-day case 조사 (0) | 2022.01.11 |
CSS flex 속성 정리 (0) | 2021.08.29 |
JS, array 배열 (0) | 2021.07.19 |
XSS game 3단계 (0) | 2021.06.02 |