전체 글 50

[휴학] DreamHack devtools-sources

오늘 풀 문제이다. 이 문제는 로드맵을 따라가면 제일 먼저 발견해야 했을 문제지만 지나쳐버리는 바람에 두번째 문제를 풀고 푼다. flag를 찾아야 한다. 전에 풀었던 문제도 코드를 봤으니 이번에도 코드를 살펴볼 예정이다. js에 실행을 시키거나 어떻게 해야할지 나올 것 같았으나 한줄로 되어 있는 바람에 경악을 했다. 그래서 Ctrl + U 로 소스전체 보기를 통해 찾기로 했다. 코드로만은 발견할 수 있을 것 같지 않았다. 특히 js는 막막했다. 검색을 이용해서 flag를 찾고자 했으나 없었기에 코드를 하나하나 분석하는 방법밖에 없다고 생각했다. 코드를 읽다가 말고 힌트를 찾기 위해 다시 문제로 돌아왔고, 개발자 도구의 Sources 탭을 이용하기로 했다. 개발자 도구에서도 Ctrl + F 가 가능했다. ..

웹해킹/DreamHack 2022.09.08

[휴학] DreamHack Web Hacking, session-basic

오늘 풀 문제는 session-basic이다. 문제에서 제공한 참고문헌이다. (강의 코스) 먼저 코드를 열어보니 flask를 처음 접할 수 있었고, 회색 글씨와 함께 경고문구가 있었다. 상관없겠거니 넘어갔으나 코드를 분석하는 과정에서 이상함을 느낄 수 있었다. 코드로 웹을 불러오고 싶어도 계속되는 404와 500의 조우에 초심으로 돌아가고자 첫번째 문단의 코드를 봤는데 flask가 문제였다... 설치를 위해 파이썬 버전과 pip 버전을 확인하며 준비물은 잘 있나 체크한 후 설치해 주었다. 이후 임의로 만든 웹에 들어가 개발자 도구로 살펴보았지만 삽질이었다. (index.html과 login, admin 확인) 문제 사이트에 들어가니 제공해주는 웹이 있었고 반가웠다. 로그인 화면을 발견하였고 guest와 ..

웹해킹/DreamHack 2022.09.07

[Whois] 시스템 해킹 - Format String Bug

23번째 줄을 보면 조건문 안에 or가 있다 이 조건문을 탈출해야 system 함수가 발동된다. 1. buf와 s2 값을 비교해서 같을때 2. discharged_past 값이 550이 아닐때 두 조건을 반대로 만족시켜야 한다. discharged_past를 살펴보면 메모리 주소가 00 00 00 00 00 40 40 AC 인 것을 확인할 수 있습니다. 일단 위 코드를 보면 buf부터 차례대로 2칸, s 5칸 s2 8칸을 차지합니다. 포맷스트링을 이용해서 공격을 할 것인데 나눠서 설명을 하겠습니다. %550c: 550칸 띄워준다, 550byte를 확보한다, 550을 입력받는다. %10%n: 10번째에 AAAAAA: 패딩값, 쓰레기값이다 원하는 값을 10번째에 넣어주려고 했으나 %550~$n까지 총 10칸..

시스템 해킹 2021.12.08