본문 바로가기
작업/Webhacking.kr

webhacking.kr old-20 이해하기

 

 

 

old-20 페이지는 어떤 값을 제출하는 형태로 구성되어 있습니다.

중앙 상단에는 " time limit : 2 second "라고 적혀있습니다.

어떤 기능을 하는지 페이지 소스 코드를 확인해 보았습니다.

 


소스 코드 분석

pull code

 

nickname, comment

 

 

cpatcha, submit button, reset button

 

 

submit 버튼을 누르면 onclick="ck()"에 의해 ck() 함수가 작동합니다.

ck() 함수는 각각의 텍스트 상자에 값이 입력되어 있지 않다면 그곳으로 포커싱 해줍니다.

또한, captcha값이 일치하지 않으면 captcha 텍스트 상자로 포커싱 해줍니다.

 

 

값들이 모두 들어있고, captcha값이 일치한다면 lv5frm.submit(); 함수가 작동하는 구조입니다.

 

 

작동 상태를 보기 위해서 값을 입력하고 submit(제출)을 눌러보았습니다.

 

 

매우 느리다는 출력이 반겨주었습니다;;

아마 중앙 상단에 적혀있던 2초 제한이 초과되어 그런 것 같습니다.

 

 

사실... 저 3개의 값을 2초 안에 적는다는 것은 인간의 능력으로는 불가능해 보입니다.

captcha의 값이 진행할 때마다 변경되기 때문입니다.

 

 

2초 안에 모든 값을 적용하여 해결할 수 있는 방법은 코딩밖에 없었습니다.


문제 해결

코드를 만들기 위해서는 각각 어떤 값인지를 알아야 합니다.

nickname과 comment에는 어떤 값이 들어가는지 중요하지 않았습니다.

 

 

captcha 값만 페이지에서 만들어낸 값과 일치하면 되는 것입니다.

 

<form name="lv5frm" method="post">

<input type="text" name="id" size="10" maxlength="10">

<input type="text" name="cmt" size="50" maxlength="50">

<input type="text" name="captcha">

<input type="button" name="captcha_" value="FVskcGDOwg" style="border:0;background=lightgreen">

 

문제 해결의 핵심 문장들입니다.

 

 

페이지의 기능들은 form 내부에서 모두 이루어집니다. form을 대표하는 이름은 lv5frm입니다.

 

nickname에 해당하는 텍스트 상자를 대표하는 이름은 id입니다.

 

comment에 해당하는 텍스트 상자를 대표하는 이름은 cmt입니다.

 

captcha에 해당하는 텍스트 상자를 대표하는 이름은  captcha입니다.

그리고 생성된 cpatcha값을 나타내는 대표 이름은 cpatcha_입니다.

 

 

 

해당 정보를 바탕으로 코드를 만들어 보겠습니다.

각각의 값에 데이터를 저장시킬 수 있는 value 속성을 사용합니다.

 

 

저장할 데이터는 모두 lv5frm form 안에 존재하기 때문에

lv5frm.id.value, lv5frm.cmt.value, lv5frm.captcha.value로 접근할 수 있습니다.

 

 

 

id와 cmt에는 아무 값이나 주입시키면 됩니다.

captcha 값에는 form에서 생성된 고유한 captcha값을 적용해야 합니다.

 

 

그 값은 captcha_에서 알 수 있기 때문에

lv5frm.captcha.value = lv5frm.captcha_.value; 로 값을 불러올 수 있습니다.

 

 

마지막으로 실행하는 문장인 lv5frm.submit(); 를 적용합니다.

 


최종 코드

lv5frm.id.value='pc';
lv5frm.cmt.value='um';
lv5frm.captcha.value=lv5frm.captcha_.value;
lv5frm.submit();

 

 

적용은 페이지에서 콘솔 화면으로 진행합니다.

페이지 콘솔은 크롬 기준으로 f12키를 누르면 나타나는 페이지 소스 코드 창에서 Console에 있습니다.

 

 

 

중요한 것은 페이지를 새로고침 한 다음,

2초가 지나지 않는 시간에 코드를 붙여 넣기 하여 실행해야 한다는 것입니다.

 

 

 

 

 

해결되었습니다!

 

 

 

 

 

 

 

'작업 > Webhacking.kr' 카테고리의 다른 글

webhacking.kr old-33 이해하기  (0) 2020.09.10
webhacking.kr old-31 이해하기  (0) 2020.09.06
webhacking.kr old-39 이해하기  (0) 2020.09.06
webhacking.kr old-26 이해하기  (0) 2020.09.06
webhacking.kr old-27 이해하기  (0) 2020.09.05