호그와트 358

드림핵 spring view

https://www.acunetix.com/blog/web-security-zone/exploiting-ssti-in-thymeleaf/ 가장 기본이 되는 내용 https://www.reddit.com/r/HowToHack/comments/rp0dc5/thymeleaf_ssti_how_do_i_bypass_the_filtering/ __${(1).TYPE.forName('ja'+'va.lang.Runt'+'ime')...}__::.x __${T(java.lang.Runtime).getRuntime().exec("id")}__::.x ​ nc host1.dreamhack.games 13459 여기로 들어가서 슛 때려도 괜찮다 그렇긴 한데 역시 웹 상에서 바로 아는 게 제일 편하긴 하다 ​ /(${T(ja..

호그와트 2022.04.06

드림핵 sint

이론적 기반은 아주 간단하다 Type Error라는 간단한 취약점에 의거하고 있는데 이는 개발자가 기본적으로 선택해주는 변수 크기에서 나오는 취약점이라고 할 수 있다 컴파일러는 개발자가 정해준 변수 크기를 따라서 메모리를 불러다가 계산하는데 만약 더해진 값이든 조작한 값이든 그 값이 그 크기 자체를 벗어나게 되면 값이 적어지든 커지든 하는 문제가 발생할 수 있다 ​ 이 문제는 버퍼 오버플로우를 일으키면 flag를 주겠다고 간단한 요구를 하고 있다 signal(SIGSEGV, get_shell); ​ 그런데 밑에 보니 if (size > 256 || size < 0) { printf("Buffer Overflow!\n"); exit(0); } 이런 식으로 나름 버퍼 오버플로우를 감지하려 하고 있다 size..

호그와트 2022.03.01

Dreamhack login-1

admin admin 11 panda panda123 58 ​ 93 88 81 ​ @app.route('/user/') def users(useridx): conn = get_db() cur = conn.cursor() user = cur.execute('SELECT * FROM user WHERE idx = ?;', [str(useridx)]).fetchone() ​ if user: return render_template('user.html', user=user) ​ return ""; => user/숫자 입력하면 해당 user의 정보가 나온다 ​ 개인적으로 웹 중에 가장 쉽게 풀었다 ;; 5분~10분 정도 걸렸다 guest 아이디 하나 만들어보고 바꿔보고 하면서 backcode가 존재한다는 점을 바..

호그와트 2022.02.24