DVWA系列の命令注入&暴力破解


Brute Force(暴力測試):

 

 

對比難度為Low和high的代碼可以發現

 

相對於Low,High在用戶名和密碼處分別加了兩個過濾函數

Stripslashes:

輸入:字符串。

輸出:返回一個去除轉義反斜線后的字符串(\' 轉換為 ' 等等)。雙反斜線(\\)被轉換為單個反斜線(\)。

mysql_real_escape_string以下字符前添加反斜杠: \x00, \n, \r, \, ', "\x1a.

 

代碼是用來防止sql注入代碼,對暴力破解這一項並沒有影響,只不過上面爆破成功的萬能密碼就沒有作用了。

 

 

 

Command Execution(命令注入攻擊)

 等級為Low時代碼

 

 

代碼此時僅做了對Win和linux情況下的不同指令的區別,在Win下直接進行Ping指令,在Linux下,進行Ping –c 3指令(Linux不加-c 3會一直發包),但是並未對target有任何過濾操作。

window 和 linux 下可以直接用 &&和;來執行多條命令

此時在框內輸入127.0.0.1;net user

 

成功執行命令

 

Medium時候代碼為

 

添加了對&&和;的過濾,此時可使用||

 

 

||為當執行前面的命令失敗時,執行||后的命令

 

當等級為high時,代碼為

 

其中先是利用stripslashes函數將target中反斜線去除,再判定是否target為以.為划分的四個數字類別數組。

目前不會。

 

Stristr:

stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

->返回 haystack 字符串從 needle 第一次出現的位置開始到結尾的字符串。

-> 如果 needle 不是一個字符串,那么它將被轉換為整型並被視為字符順序值

php_uname:

string php_uname ([ string $mode = "a" ] )

mode 是單個字符,用於定義要返回什么信息:

  • 'a':此為默認。包含序列 "s n r v m" 里的所有模式。
  • 's':操作系統名稱。例如: FreeBSD
  • 'n':主機名。例如: localhost.example.com
  • 'r':版本名稱,例如: 5.1.2-RELEASE
  • 'v':版本信息。操作系統之間有很大的不同。
  • 'm':機器類型。例如:i386


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM