[webhacking.kr] Challenge 21 :: Blind SQL Injection 1 ▼ Challenge 21은 다음과 같습니다. Blind SQL Injection은 True와 False의 결과만을 보고 값을 추측하는 공격입니다. 본 문제에서는 True와 False가 명시되어 나오지만, 실제 모의해킹에서는 (예를 들면) 게시판이 출력되는지 않되는지 등의 반응을 보고 판단하게 됩니다. 입력 폼에 "1" 과 "2"를 입력하면 True가 나오고 그 이외에는 False가 나옵니다. 이로 인해서, Table에 2개의 Data가 있는 것으로 추측할 수 있습니다. SQL 함수의 length() 와 substr() 함수를 사용하여 문제를 풀어보도록 하겠습니다. length() : 문자열의 길이 반환substr( str, start, length ) : str 의 start 위치부터 length 까지.. 더보기 [webhacking.kr] Challenge 12 :: Javascript ▼ Challenge 12는 Javascript 문제로 소스코드는 다음과 같습니다. Ascii 코드 값을 문자로 변경시킨 값을 eval() 함수를 통해 실행하고 있습니다. eval() : 문자열로 넘어온 Javascript 구문을 실행 즉, WorkTimeFun 변수에 Javascript 구문이 숨어 있다는 것입니다. ▼ WorkTimeFun 변수를 [개발자 도구]의 [Console]창에서 실행시킨 장면입니다. ▼ 이 구문을 풀어서 보면 다음과 같습니다. for문과 function enco_(x)문은 함정인 것 같습니다. eval() 함수를 실행시켰을 때 의미없는 값을 출력시키기 위함입니다. if문에서 ck변수가 해당 값이면 Password 알림창을 띄우도록 설계되어 있습니다. ck는 URL에서 "=" .. 더보기 [webhacking.kr] Challenge 10 :: CSS ▼ Challenge 10은 다음과 같습니다. O 표시를 클릭할 때 마다 1 px 만큼 이동을 하고 lotto 가게로 들어가면 풀릴 것 같습니다. ▼ 소스는 다음과 같습니다. 소스코드에 보면 posLeft==800이면 ?go=800으로 이동하겠네요. 그러나 URL에 ?go=800이라고 쓰면 "no hack"이라는 문구가 나옵니다. ▼ 그럼으로 코드를 수정해서 한번에 800으로 이동하게 만들면 Success! 더보기 이전 1 ··· 17 18 19 20 21 22 23 ··· 34 다음