Website Hacking
InspectMe!
Diberikan website dengan link http://fallcrescent.ccug.gunadarma.ac.id/hackfest/inspect/setelah dibuka maka akan menampilkan
lalu cek pada bagian tentang
dari sini dudah di dapatkan clue untuk melihat pada HTML, CSS dan Javascript(JS) yang dari judul challenge ini sudah jelas harus di inspect, maka untuk menyrlrsaikanya penulis menggunakan fitur inspect element pada browser atau tekan ctrl + shift + c pada chrome untuk inspect element
dan jika dibuka pada bagian CSS
Terdapat sisa dari flag nya ( ct0r_g4dget} )
Flag : HackFest{ur_4_real_1nspect0r_g4dget}
Bad Request 400
Diberikan website dengan alamat http://ccug.gunadarma.ac.id:6007 dan ketika dibuka maka akan menampilkan pesan errordan diberi juga source code untuk websitenya, pada bagian settings.py terdapat
ALLOWED_HOSTS = ['google.com','youtube.com','google.co.id','gmail.com']
|
yang berarti yang diperbolehkan untuk mengakses website tersebut hanya salah satu dari ke 4 host tersebut, untuk menyelesaikan challenge ini penulis menggunakan burpsuite untuk tamper data sebelum membuka link http://ccug.gunadarma.ac.id:6007 dan mengubah host menjadi google.com
lalu penulis membuka source code website dengan menggunakan ctrl + u pada browser dan menemukan sesuatu pada urls.py
urlpatterns = [
path('716a165aa758863193399a3d65dfacd05e8d8a30', FlagView.as_view(),name='flag'),
path('', HomeView.as_view(),name='home'),
]
|
Berarti flag nya berada di path 716a165aa758863193399a3d65dfacd05e8d8a30. lalu masukkan path tadi ke url dan di dapatkan flag
Flag : HackFest{HTTP_HOST_itu_gampang_banget_untuk_dimanipulasi}
WebFlag Checker
diberikan website dengan alamat http://104.250.105.158:8002/index ketika di buka maka akan menampilkan :
dan diberikan script python :
from flask import Flask, render_template_string,request, session, render_template
import hashlib
import os
app = Flask(__name__)
app.config['FLAG'] = open("flag.txt","rb").read()
@app.route("/",methods=["GET","POST"])
@app.route("/index",methods=["GET","POST"])
def check_flag():
if request.method == "GET":
session['token'] = hashlib.md5(os.urandom(32)).hexdigest()
return render_template("index.html",token=session['token'])
if request.method == "POST":
check_token = request.form['token']
if check_token == session['token']:
template = open("templates/index.html","rb").read()
check_flag = request.form['check_flag']
if check_flag != "":
if check_flag == app.config['FLAG']:
res = """
<br>
<div class='alert alert-success' role='alert'>
<strong>{0}</strong> is the correct flag.
</div>
""".format(check_flag)
else:
res = """
<br>
<div class='alert alert-danger' role='alert'>
<strong>{0}</strong> is not the correct flag.
</div>
""".format(check_flag)
template = template.replace("<!--result-->",res)
session['token'] = hashlib.md5(os.urandom(32)).hexdigest()
return render_template_string(template,token=session['token'])
else:
session['token'] = hashlib.md5(os.urandom(32)).hexdigest()
return render_template("index.html",token=session['token'])
if __name__ == "__main__":
app.secret_key = os.urandom(16)
app.run(port=8002)
|
dengan hint yang diberikan, pada link tersebut terdapat payload yang dapat digunakan untuk website yang menggunakan flask dengan mengisi kolom flag dengan {{7*7}}
berarti pada kolom flag dapat dijalankan perintah python, dan ternyata lag terdapat di config['FLAG'] maka saat dimasukkan
Flag : HackFest{th15_15_fl4g_f000r_y00u_SSTI_n1nj4}
Baby Codeigniter
diberikan website dengan link https://target.ccug.gunadarma.ac.id/386f44/index.php dan saat di buka
dan login menggunakan data yang sudah kita register sebelumnya
yang berarti flag akan muncul pada bagian message, dan duberikan source code webnya yang menggunakan framework codeigniter setelah ditelusuri pada bagian controller terdapat code :
if($res[0]['is_admin'] == 1) {
//echo 'uuuu';
$flag = 'The first flag is HackFest{[CENSORED]}. The second flag is secret user\'s password';
|
dengan ini bisa di simpulkan bahwa parameter is_admin dapat digunakan untuk melakukan exploit, penulis menggunakan hackbar untuk merubah post data saat register
setelah berhasil login dengan username dan password yang telah di daftarkan tadi dan didapatkan flag
Flag : HackFest{3776aeb22c9453304430525b92c2cea1}.