webhacking.kr 8

[Webhacking.kr] old-21 풀이

old-21이다. 대놓고 BLIND SQL INJECTION이라고 알려준다. id와 pw에 각각 1을 넣어보았다. Result가 login fail로 나왔다.  get으로 id와 pw값을 포함해 요청하고 있다. id = guestpw = guest 를 넣어보니 login sucess가 출력됐다. admin으로 로그인하면 되는건가?id=admin&pw=' or 1#을 보내봤다.wrong password가 출력됐다. union을 이용해 select문을 만들어 넣어보았는데 no hack이 출력된다. 필터링되는 문자도 있는 듯 하다. 1. login fail2. login success3. wrong password4. no hack 이렇게 4가지로 출력이 구분되어 있는 것 같은데 login fail과 wron..

Webhacking.kr 2024.07.27

[Webhacking.kr] old-20 풀이

old-20이다. nickname과 comment, captcha 문자열을 입력하면 Submit 할 수 있다. 또 time limit이 2초로 존재한다.  다 입력해서 Submit 하면? ;; 2초안에 안했다고 느리단다.. time limit : 2 secondnicknamecommentcaptcha html코드이다. 15번째 줄에 보면 captcha 값이 적혀있다. 여기서는 BG5Qx9ftp7인데 새로고침 할때마다 저 값이 바뀐다.form name이 lv5frm, name이 captcha_이고 value가 정의되어 있으므로 console에서 lv5frm.captcha.value를 입력해보면이런식으로 captcha값을 받아올 수 있다.  그래서이렇게 세팅을 해버리면? 값을 일일이 입력하지 않아도 세팅이 ..

Webhacking.kr 2024.07.15

[Webhacking.kr] old-02 풀이

old-02 이다. 내 IP가 로깅되고 있다고 한다.  알 수 있는 게 없으니 Elements를 확인해보자  현재 시각이 주석처리되어있고admin.php에 접근하면 엉덩이를 발로 차버린다고 한다.. 맞더라도 궁금하니 들어가보자password를 입력하는 부분이 있다. SQL injection 인가? '(싱글쿼터) 를 넣어봤다. 아닌가? ' or 1# 을 넣어봐도 똑같다. 다른 특이사항이라면time이라는 쿠키가 설정돼 있다. value가 172086... 라는 숫자로 설정돼있는데 쿠키를 삭제하고 새로고침 해보니 바뀌는 것으로 보아 현재 시각과 관련이 있는 듯 하다.  아 이거 유닉스 시간이구나유닉스 시간은 1970/01/01 00:00:00을 기준으로 지나온 만큼의 시간이다.맞네요 ㅎㅎhttps://time..

Webhacking.kr 2024.07.14

[Webhacking.kr] old-54 풀이

문제 페이지이다. Password is [ ] 라는 문장 하나가 있고 [ ] 슈슉 시발롬아 바뀌지마라자세히 보니 FLAG로 시작하는 것 같으니 아마 flag 값을 빨리 보여주는 듯 하다.  스크립트 코드이다.  run() 과  answer() 두 개의 함수가 정의되어 있다.  answer 함수가 플래그와 연관되어 있는 것 같아 console에 answer()을 입력해 봤는데 안된다 그냥 다 복사해서 붙여봤다. 다시 동작했다. 잘 보면 setTimeout이 20으로 설정돼 있는데 저걸 한 500정도로 바꾸면 느리게 가지 않을까? ㅎㅎ 된다이새기 가라치네 야매로 문제푸네 -> 이 친구 신박하네 그것도 그렇고 플래그가 너무 길어서 다른 방법을 생각해 봐야겠다 저 바뀌는 텍스트를 받아서 어떤 변수에 += 하면 ..

Webhacking.kr 2024.07.12

[Webhacking.kr] old-38 풀이

38번이다. LOG INJECTION이라고 대문짝만하게 적어놨다. input을 받는 박스 하나가 있다. 어떤 값을 넣고 Login을 누르면 저 빈화면으로 돌아온다.   admin.php라는 게 있는 것 같다.  admin.php이다.  내 아이피: 입력값으로 LOG가 저장된다. MY IP:admin으로 로그를 만들어내면 되는 것 같다.  물론 admin으로 보내면 막힌다 구글링해보니 \n (줄바꿈 문자) 를 통해서 우회할 수 있다고 한다. (전에도 그렇게 풀었던 거 같긴 함) 안됨  HTML 수정해서 보내면 그만이야~ 보낸 뒤 admin 페이지 들어가면

Webhacking.kr 2024.07.12

[Webhacking.kr] old-16 풀이

문제 페이지이다. 별이 3개 있다. 알 수 있는게 없어 Elements를 보자 *** 들여쓰기가 안돼있어서 복잡하긴 한데  3번째 줄에 있는 onkeypress로 눌린 키보드 값을 가지고 mv함수를 호출한다.  * onkeypress(ASCII)  mv(cd) 함수를 보면 cd 값이 100이면, left에서 50만큼 이동한다. (왼쪽 끝에서 50만큼 떨어져있다는 말임) cd값이 124면, fromCharCode(cd).php로 이동한다. fromCharCode는 아스키를 문자로 바꿔준다.124는 | 이므로 '|' 를 누르게 된다면 |.php로 이동하게 된다.   혹은 console에서 mv(124)를 입력해도 된다.

Webhacking.kr 2024.07.11

[Webhacking.kr] old-15 풀이

문제 페이지에 접속하면 Access_Denied 라면서 확인을 누르면 / 로 이동시켜버린다.  자바스크립트를 활용해서 location.href 스크립트를 박아놓은 것 같다. 그럼 어떻게 하냐?  크롬에는 javascript를 비활성화 시키는 기능이 있다.  설정 - 개인 정보 보호 및 보안 - 사이트 설정 - 하단에 콘텐츠 - 자바스크립트 - 사이트에서 'JavaScript를 사용하도록 허용하지 않음' 선택  설정하고 다시 문제 페이지를 접속해보면  빈 페이지가 나오게 된다. 여기서 개발자도구로 Elements를 확인해 보면  코드를 확인할 수 있다. 코드에 적힌대로 ?getFlag를 URL에 추가해보면  주의할 점: ?getFlag 쓰기 전에 설정에서 다시 자바스크립트 사용으로 바꿔줘야 한다

Webhacking.kr 2024.07.11

[Webhacking.kr] old-17 풀이

이번 방학에는 Webhacking.kr을 정복해보겠다.작년 군대에서 반 가까이 풀었지만 지금은 기억이 하나도 나지 않기에 도전해 볼 만하다고 생각한다.Solved 순서대로 풀었다. (중간에 빈 문제는 특정 포트가 싸지방 방화벽에 막혀서 접속이 안됐던 것으로 기억한다.) 암튼 풀이는 내가 봤을 때 좀 의미있는 문제? 교훈을 얻을 수 있는 문제라던가 복습 안하면 까먹을 것 같은 문제 위주로 풀이하려고 한다. 첫 문제는 solved가 3번째로 많은 old-17을 풀이해보겠다.  입력 값을 받는 박스 하나만 덩그러니 있다. 개발자도구 - Elements 에서 소스를 볼 수 있다.  중요한 부분만 갖고 왔다.  unlock이라는 변수에 아주 긴 수식을 대입하고, sub()라는 함수를 실행한다.  login.pw...

Webhacking.kr 2024.07.11