Bypassing Email Filter which leads to SQL Injection

Dimaz Arno
2 min readAug 25, 2018

--

Akhirnya nulis lagi, soalnya temuan ini menurut saya lumayan menarique jadi pengen sharing, maaf yang pakai google translate, artikel ini isinya bahasa Indonesia meskipun judulnya dalam bahasa Inggris :p

Pada saat mengikuti program bug bounty di salah satu perusahaan fintech Indonesia yaitu uangteman, saya menemukan inputan email pada fungsi “lupa password” dan disinilah semua berawal :D

Pertama kali saya eksperimen dengan inputan tanpa spasi :

a@a.com => valid

“a”@.com => valid

Kemudian dengan spasi :

dimaz arno@test.com => tidak valid

“dimaz arno”@test.com => valid

Hal ini sesuai dengan RFC 3696 pada sesi

3. Restrictions on email addresses

https://tools.ietf.org/html/rfc3696

Namun pada kasus kali ini api uangteman melakukan filter spasi alias tidak diperbolehkan menggunakan spasi (bad format).

Tapi… untuk karakter “(“ dan “)” diperbolehkan, dan ini cukup “membantu” untuk membuat karya seni payload blind sql injection.

Daftar eksperimen payload :

Dari enumerasi tersebut akhirnya diperoleh bahwa jumlah karakter databasenya adalah 10.

Kesimpulan :

Jika dihadapi dengan filter email yang membatasi karakter khusus, saya seringkali menemukan dapat dibypass dengan memberikan tanda petik di bagian struktur local part email (sebelum @),

Formatnya seperti ini : “injection_here”@email.com

contoh :

“<script src=//xsshere?”@email.com

“1-’or’1'=’1”@email.com

Silahkan dicoba dan semoga beruntung!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Dimaz Arno
Dimaz Arno

Written by Dimaz Arno

IT Security Enthusiast, CEO of Ethic Ninja https://ethic.ninja

Responses (1)

Write a response