一、
(1)直接上传拿shell
如果知道网站是用什么cms,但网站后台改了目录,很难去通过扫目录来获取后台地址,那这时就可以通过谷歌语法↓(这里拿织梦cms来做比喻–>织梦默认后台路径是/dede/login.php,通常者都会被管理员改掉的)
可以这样:inurl:(你要查的url) intext:powered by dedecms(这是dedecms在后台管理登录界面的关键词,虽然这里没写全)
知道后台地址后,就尝试弱口令爆破,爆不了只能想其他法子
这里假设已经登进了后台,像织梦cms,进入了后台也相当于能拿到权限,因为这里有上传文件的模块↓,这样就可以上传大马拿shell
就会上传成功,直接拿shell,这种情况可以直接上传,属于最简单的情况~
但有时候上传了文件会被限制权限,不能往上一级翻,这时候该怎么办呢?
这时候可以把文件名改成–> …/a.php
比如上面↑,没改成这样之前是在upload目录下,改了之后 就变成了upload同级,把这个限制给跨掉了(就是往上翻目录)
(2)数据库备份拿shell
这里拿个网站举例子
这里就有数据库备份的选项,一般asp(access数据库)会有这个
然后就找个可以上传的点,像这里,有个类型留言板的可以上传内容↓
然后上传一个图片马,找到图片的路径
再回到数据库备份那里↓
然后就会备份成这样↓
接着访问↓ 就拿到了shell~ 用菜刀连接就行
如果像上面那样操作数据库没有被备份,那我们就换种思路–> 把一句话写入到数据库中,改个文件名备份就行
这时候就注册个管理员账号,在管理员账号那里写入一句话~↓
一句话可以采用多种形式写写,免得不成功,这样管理员账号就被添加到数据库中了,一句话也就被加到数据库中了
然后再备份数据库,改个名称,用菜刀连接就可以了
另外,可能会把一些功能不给你显示出来,像上面说的那些模块,万一找不到,给你阉割掉怎么办呢?
这时候可以本地下载一套这个cms,搭建一下,把你要的那个功能的页面调用到要渗透的那个后台,看看这样能不能正常调用那个功能
(3)突破上传拿shell
如果后台可以直接添加上传文件类型就直接添加,不要太盲目去绕过,先仔细扫一眼看看↓
具体一句话要怎么插,就要看具体的cms是怎么闭合的,这个要自己研究研究
下面的很重要↓
例如在phpmyadmin中想要拿shell,就可以写入上图的sql命令执行来拿shell!
但是,有的时候会报错不执行的,那这时候该换另一种方法–> 找到变量中的日志并打开它
然后直接在sql输入那里 写一句话,这样就会报错,就会写入日志,那么一句话就写入成功
上面两种方法都是在知道路径的情况下,那不知道路径时该怎么搞?
先找到配置文件,再找到网站根目录
然后读取httpd.conf配置文件的内容,找根路径即可
另外不知道路径时,还可以写入大文件到表中,让其报错,报错的时候就会把当前脚本根路径爆出来