Writeup CCUG Hackfest 0x02 (Website Hacking)

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



pada HTML di dapat bagian 1 dari 3 flag ( HackFest{ur_4_real_1nspe.
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 error
dan 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

maka akan terbuka

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}.

Categories: ,

1 comment:

http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html

Copyright © FallCrescent | Powered by Blogger

Design by Anders Noren       Up ↑