본문 바로가기

웹해킹

(33)
2025 여름방학 2주차 웹해킹 보호되어 있는 글입니다.
2025 여름방학 1주차 웹해킹 보호되어 있는 글입니다.
2025년 1학기 8주차 웹해킹(드림핵) 보호되어 있는 글입니다.
2025년 1학기 8주차 웹해킹(natas) natas23 저번주차 비번을 잘못 구했길래 다시 구했다 일단 들어가보면 이렇게 생겼다... 아무거나 누르고 로그인을 누르면 이렇게 나온다 소스코드를 보면 이렇다 if(strstr($_REQUEST["passwd"],"iloveyou") && ($_REQUEST["passwd"] > 10 ) 이 부분을 통해서 입력칸이 "iloveyou"를 포함하고 글자수가 10을 넘는 걸 넣어줘야 한다는 걸 알 수 있다이 방식대로 했는데 계속 틀렸다고 떠서 서치를 좀 더 한 다음에 123123iloveyou라고 입력했다그랬더니 이렇게 풀렸는데 다른 게 틀렸다고 한 이유까지는 모르겠다........ MeuqmfJ8DDKuTr5pcvzFKSwlxedZYEWd natas24 일단 들어가보면 23이랑 똑같이 생겼다 주요..
2025년 1학기 7주차 웹해킹(natas) natas21먼저 들어가면 이렇게 생겼다 주요해보이는 소스코드만 보면 이렇다링크부분을 누르면 이렇게 나온다. php부분은 다음과같이 생겼다 여기서 잘 봐야하는 부분은 이 부분이다. 이 부분은 css페이지라서 admin이 따로 존재하지 않는다. 그래서 admin을 추가해줘야 한다.?debug=true&submit=Update&admin=1 이걸 url의 뒷부분에 붙여준다. debug는 그냥 잘 됐는지 확인용이다. 중요한 부분은 submit과 admin=1 이 부분이다. Update는 그냥 형식상 넣어주는 거고 아무거나 넣어도 된다 저기서 나온 쿠키값을 원래의 페이지의 쿠키값에 넣으면 비밀번호가 나온다둘이 세션의 저장소를 공유해서 가능한 일이다 d8rwGBl0Xslg3b76uh3fEbSlnOUBlozz ..
2025년 1학기 웹해킹 7주차(드림핵) Client Side Template InjectionVuevue혹은 vue.js로 불리는 프론트엔드 프레임워크다. vue는 오픈소스 자바스크립트 프레임워크로, 이용자의 인터페이스나 single page application을 빌드할 때 사용한다. 상세내용:https://vuejs.org/ Vue.jsVue.js - The Progressive JavaScript Frameworkvuejs.org 아래는 vue의 예제다{{ message }} {{ }}로 감싸진 부분이 vue의 탬플릿이다 vue의 탬플릿에서 할 수 있는 것:문자열 표시, 자바스크립트 표현식 실행만약 탬플릿 내부에 공격자의 입력이 들어가 template injection 취약점이 발생할 시 ->xss공격 가능성 존재 아래 코드는 이용자의 ..
2025년 1학기 6주차 웹해킹(드림핵) 엔드포인트: /login 아래는 /login페이지를 구성하는 코드이다. GET요청을 받을 때: 로그인 페이지 렌더링POST 요청을 받을 때:로그인 과정을 수행 로그인하는 과정에서 이용자별로 랜덤한 세션과 CSRF Token 값을 함께 생성한다. CSRF Token는 username과 이용자의 IP주소를 이어붙인 후 md5해시를 구하여 생성한다. 이 방식은 완전히 랜덤하지 않아 다른 유저가 토큰값을 유츄할 수도 있다. @app.route('/login', methods=['GET', 'POST'])def login(): if request.method == 'GET': return render_template('login.html') elif request.method == '..
2025년 1학기 6주차 웹해킹(natas) natas19대충 비밀번호가 이전처럼 순차적으로 있지 않다는 뜻 같다 검사 툴을 사용해 확인해보면 다음과 같이 나온다 Cookie: PHPSESSID=3537352d2cCookie: PHPSESSID=3531322d2cCookie: PHPSESSID=3632382de38581Cookie: PHPSESSID=39392de38593e385a3e38591Cookie: PHPSESSID=3339342d2ce385a12c 3235392de385a12ce3859c3236392d61646d696e3434332d61646d696e3532362de385a12c3237372de38593e3858fe38597 버프스위터로 확인을 몇 번 해봤는데 규칙을 모르겠다.... 저기 나온 것들을 디코딩 사이트에다가 돌려봤다https..
2025년 1학기 5주차 웹해킹(드림핵) CSRF Token대표적으로 사용하는 CSRF방어 기법이다. CSRF Token은 같은 오리진에서만 접근이 가능한 형태로 특정 Token을 저장하고 HTTP요청을 전송할 때 함께 전송한다. 웹서버는 전송된 Token으로 제 삼자가 아닌 이용자에게 요청이 왔다는 걸 인증할 수 있다. Token의 값은 보통 HTML form태그의 hidden속성에 있거나 동적 요청에 사용된다. 장점:추가적인 상호작용이 불필요하다단점:보안 문제의 원인이 되기도 한다 아래는 예시이다. "> CSRF Token 사용 시 주의해야 할 점1.CSRF Token의 길이가 외부자가 예측할 수 없을 만큼 길어야 한다. 2.공격자가 예측할 수 없는 Token을 생성하거나, 충분히 안정성이 보장된 난수 생성기를 사용해..
2025년 1학기 5주차 웹해킹(natas) natas17 view sourcecode를 보면 주요 부분으로 보이는 건 이렇다 아무거나 username에 눌렀을 때는 이렇게 나온다. 참이 아니면 공백으로 뜨도록 설정되어 있어서 그렇다. 결과를 아예 확인할 수 없으니 sleep 함수를 사용한다. sleep함수를 사용하는 이유는 답이 틀릴 경우:사진과 같이 아무것도 없는 페이지가 바로 뜸답이 맞을 경우:sleep 함수에 표시해둔 만큼 시간이 지연 됨 대충 이런 원리인 듯 하다 natas18" and sleep(3) # 이렇게 입력하면 3초 딜레이가 뜬 뒤에 빈 화면이 생긴다. 다음 단계의 이름은 일단 natas18이 맞다는 거다. 저거처럼 비밀번호를 하나하나 확인하면 되는데 그럼 너무 오래 걸리니 파이썬 자동화 코드를 작성해서 사용한다. import..