본문 바로가기

CTF/SWING CTF 2022

(11)
[Rev] chikara
[Web] AYAYA!
[Web] under construction blind sql injection 문제인가보다. table 파라미터를 통해 어떤 값을 받고 어떤 값을 필터링하는지 보여준다. table 파라미터에 들어갈 수 있는 값은 a부터 z까지, 0부터 9까지, A부터 Z까지, _ 와 . 그리고 공백 이다. 그러므로 함수를 사용하지 않고 blind sql injection을 해야한다. union이나 select 문자열은 필터링하고 있다. table=union 넣었더니 에러가 난 광경이다. test_user test_demo table 파라미터를 이용해 전송하는 값에 따라 출력되는 값이 바뀐다. sleep이나 benchmark와 같은 함수를 사용하는 것이 불가능하며, error가 발생하였을 때 에러 로그도 출력되지 않기 때문에, error based sql inje..
[Web] babyxss you can report it here! view source code if you succeeded execute script, you can report it here! view source code
[Web] Baby Sign sql injection 문제라고 한다. 일단 다운받은 파일들을 살펴보자. 오. 저기 flag.php 가 있는데 저거부터 열어보도록 하자. flag를 얻으려면 admin...이 되어야 하는데. 저 아래에 있는 sign in, out, up은 아래 페이지와 관련 있는 것 같고. 로그인이나 회원가입을 통해서 admin 권한을 획득하라 이건가. 우선 하나씩 코드를 살펴보자. signin.php
[Rev] Snail 다운받아서 압축을 풀고 나온 exe 파일을 IDA에 넣었는데... 아... 아까부터 대체 왜 이러지. 파일 실행도 안되는데 뭘 할 수 있나 싶지만, 이러다 갯수를 못 채우는 희대의 불상사가 벌어지게 생겼기 때문에 Write-up에 있는 코드라도 보고 뭐라도 해보자겠다. 플래그를 생성하는 바이너리가 주어진다. 두 가지 파트로 나눠서 생성하는데, 아래는 첫 번쨰 파트의 부분이다. printf("SWING{"); for ( i = 0; i < 100; i += 17 ) { v3 = fibo(i); printf("%llu", v3); } printf와 반복문 코드를 보니 C언어인가 보다. for문을 range(0, 100, 17)로 0부터 100보다 작을 때까지 17씩 증가하며, 그러니까 0부터 85까지 5번 ..
[Rev] Ransomware /dev/urandom 으로 무작위로 시드를 뽑는다. 그걸 이용해 16바이트 키를 가져온다. xor 해서 flag.png 를 암호화한다. 무작위 rand 라서 rand 값을 유추할 수는 없지만, png 헤더는 값이 일정하기 때문에, xor 의 특성을 이용해서 원래 png 헤더값과 암호화된 png 헤더값을 xor 하면 원본 키 16바이트를 구할 수 있다. original ^ key = enc enc ^ original = key ...라고는 하는데 파일이 실행되지가 않아서 말이다. original = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52] data = open("./prob..
[Rev] OPEN THE DOOR package com.example.whosadmin; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button[] btn = new Button[10]; private String password = ""; private Integer[] bt..