-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


[ ] :

, 09 2017 . 12:30 +


, , Facebook, , 15000$. . , ? . , - , Android , .


, . Fiddler, Android , . Fiddler HTTP/HTTPS c . , , ?. 2 HTTPS . , SMS .



:
phone SMS
session_id
. signature, , .

, , . , . .



, code. , signature. , .

:


. Java.

1. dex2jar jd-gui
2. apk , , .dex d2j-dex2jar.bat

jd-gui .jar . , signature.



libverify Mail.Ru . , url .

localObject3 = String.format(Locale.US, "%s%s?%s&signature=%s", new Object[] { d(), e(), localObject3, URLEncoder.encode(ru.mail.libverify.utils.m.b(f() + (String)localObject4 + ru.mail.libverify.utils.m.c(a.b())), "UTF-8") });

security through obscurity, . , jd-gui , signature MD5- .



:


, ru.mail.libverify.utils.m.b(). . . apktool, :

apktool.jar d vk.apk -r
( -r   )

, smali- MD5. : smali_classes3\ru\mail\libverify\utils\m.smali. :

...
.method public static b(Ljava/lang/String;)Ljava/lang/String;
    .locals 8
    .param p0    # Ljava/lang/String;
        .annotation build Landroid/support/annotation/NonNull;
        .end annotation
    .end param

    :try_start_0
    const-string/jumbo v0, "UTF-8"

    invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
    :try_end_0
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_2

    move-result-object v0

    :try_start_1
    const-string/jumbo v1, "MD5"

    invoke-static {v1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;

    move-result-object v1

    invoke-virtual {v1}, Ljava/security/MessageDigest;->reset()V

    invoke-virtual {v1, v0}, Ljava/security/MessageDigest;->update([B)V

    invoke-virtual {v1}, Ljava/security/MessageDigest;->digest()[B

    move-result-object v0
    ...

, - (p0). , , - , , Logcat. :

...
.method public static b(Ljava/lang/String;)Ljava/lang/String;
    .locals 8
    .param p0    # Ljava/lang/String;
        .annotation build Landroid/support/annotation/NonNull;
        .end annotation
    .end param

    # PATCH
    # String v0 = "vk-research";
    const-string/jumbo v0, "vk-research"
    # Log.d(v0, p0),  p0  
    invoke-static {v0, p0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    :try_start_0
    const-string/jumbo v0, "UTF-8"
    ...

apktool:

apktool.jar b vk -o newvk.apk

apk, APK Signer.

, , . logcat Android Debug Bridge. Android- USB :

adb devices
adb logcat

, ? . adb :



, : url, - (506e786f377863526a7558536c644968). , signature .


C#, SMS . , . :



, , . , , :



session_id, , , ATTEMPTLIMIT, RATELIMIT.



bruteforce
SMS . 4 ( 6) . ~6500 . , 5 , Facebook. .

. IP-, , , 5 .

, , , session_id. , SMS . :




- .

:

  1. SMS A session_id C, 1234
  2. SMS B session_id C, 1234
  3. , A B, . , SMS session_id.


HackerOne. 17 . 2000$. , ( ). .

P.S. 97
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/332684/

:  

: [1] []
 

:
: 

: ( )

:

  URL