form() 함수의 submit() 은 서버로 입력받은 데이터를 전송하는 함수이다.
소스코드를 봤을 때, id == pw 이면 alert 로 출력하고 id 와 pw 값을 null 값으로 만든다.
id 와 pw 가 같지 않으면 submit() 을 통해 서버로 입력받은 데이터, 즉 id와 pw 정보를 전송한다.
주석을 보면 id = pw 이어야 Authkey를 얻는 것으로 보인다.
여기서 취약점이 있는데, 이렇게 주석을 통한 중요정보 노출, 이 문제같은 경우 id와 pw가 같아야 한다는 정보와 같은 노출은 Javascript에서 많이 발생한다.
특히 Javascript는 'Client Side' 동작을 수행하는 언어로 보안에 매우 취약해서 웹 보안 부분에서는 잘 사용되지 않는다.
Authkey를 얻는 방법이다.
프록시 툴을 사용해서 if 문 내의 id와 pw 값을 null로 만드는 것을 없애고 document.web02.submit(); 을 추가해도 되고,
아니면 정말 간단하게 crome의 개발자 도구의 console 창을 이용해 id와 pw에 같은 값을 입력한 상태에서
console에 document.web02.submit(); 을 입력하고 엔터를 누르면 Authkey가 뜬다.
(두 번째 경우가 가장 간편할 듯 하다. )
두 번째 방법을 사용해서 Authkey를 얻었다.
[Suninatas] 4번 (2019.10.01) (0) | 2020.05.27 |
---|---|
[Suninatas] 3번 (0) | 2019.09.18 |
[Suninatas] 1번 (0) | 2019.09.05 |