web hacking 22

layer7 과제 - 드림핵 csrf-2 라이트업

· 소스코드 분석 중 화면에 보이지 않는 경로(change_password)가 있음을 발견했고, 그 소스를 분석해봤더니 파라미터로 전달된 pw로 계정 비밀번호를 바꾸는 코드였다. · 따라서 /change_password?pw=$(원하는 비밀번호) 이런 식으로 url을 짜서 보내면 admin의 계정 비밀번호를 내가 원하는 대로 바꿀 수 있어, admin으로 로그인하면 문제를 해결할 수 있다.

web hacking 2022.05.16

layer7 과제 - webhacking.kr - old-54 라이트업

· 이 문제의 소스는 ajax파일로 구성되어 있었지만, 지금까지 배웠던 js와 c언어 지식을 활용해 풀 수 있었다. · 소스 중 answer 함수를 보았더니 "?m="을 파라미터로 전달해 get방식으로 데이터를 받아오는 것을 알 수 있었다. 여기까지는 소스가 제대로 동작하는 것 같았지만, aview.innerHTML=x.responseText 부분에서 얻은 데이터를 뒤에 부착하는 형식이 아닌 그냥 얻은 데이터로 바꿔버린다는 것을 알게 되었고, 문자열 += 연산을 이용해 뒤에 얻은 데이터를 부착하는 형식으로 바꾸어 풀 수 있었다. · 또, 맨 마지막에 '?'를 출력하는 코드도 없애주어 얻은 플래그가 손실되지 않도록 해주었다.

web hacking 2022.05.16

layer7 과제 - 드림핵 75번

· "이 문제는 제가 풀기에 아직 문법 요소와 해킹 관련 지식이 부족한 점이 많아 수업시간 중 수업자분이 설명한 내용을 토대로 글을 썼습니다." · 이 문제의 소스코드를 살펴보면 1500번부터 1800번 사이 포트 중 랜덤으로 하나를 선택해서 그 서버를 여는데, 그 서버에 플래그가 들어있는 것을 알 수 있었다. 따라서 1500번부터 1800번까지 for문을 돌리며 그 서버의 /flag.txt를 출력하면 플래그를 구할 수 있다.

web hacking 2022.05.16