黑客网站渗透入侵破解拿权限
10.5K subscribers
2.38K photos
108 links
Download Telegram
F2.0 CPU版本安装

TF CPU安装比较简单,因为不需要配置GPU,所以windows ubuntu macOS安装方式都类似,缺点就是运行速度慢,但是用于日常学习使用还是可以的。

Windows情况下:

新建TF2.0 CPU环境(使用conda 新建环境指令 python==3.6表示新建了一个python3.6环境)

当弹出 :Proceed ([y]/n)? 输入y回车

完成后就可以进入此环境

进入TF_2C环境

conda activate TF_2C

进入后我们就可以发现:(TF_2C)在之前路径前面,表示进入了这个环境。使用conda deactivate可以退出。

安装TF2.0 CPU版本(后面的 -i 表示从国内清华源下载,速度比默认源快很多)

/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
1
代码分析
source/include/spacecp/spacecp_blog.php

提交xss $_POST数据,然后把它转交给(blog_post 关键函数) 处理

subject 的表单输入框,也就是“日志标题”。。没有进行任何安全过滤

跟踪 blog_post


程序的执行流程跳转到了 source/function/function_blog.php

调用了 censor() 函数,只会匹配和替换屏蔽脏话、广告词,不会过滤,没有过滤XSS

正确的处理方法 dhtmlspecialchars *(不知道为什么没有写要写个censor)

xss写入数据库的数组 赋值给了 $blogarr 中没有过滤

执行数据库 函数调用分析: 这里调用了 C::t('home_blog')->insert()。这个方法会接收 $blogarr 数组,并生成一条SQL INSERT 语句,将数据写入 pre_home_blog 数据表。

/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
漏洞代码:\src\main\java\com\pointlion\mvc\admin\oa\workflow\model\ModelController.java

前端传参name、key这两个参数。
跟进这个WorkFlowUtil.ifHaveThisFlow(key)这个方法。

sql语句直接拼接。
根据jfinalOA全局路由配置:
\src\main\java\com\pointlion\config\routes\OARoutes.java

所以url为:http://localhost:8089/JFinalOA_war/admin/oa/model/save?name=1&key=1

直接构造的数据包。
丢进sqlmap

/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
漏洞代码:\src\main\java\com\pointlion\mvc\admin\sys\dct\SysDctController.java

这两参数都有SQL注入,跟进getPage()方法

直接拼接sql语句。这里存在sql注入
根据路由配置,\src\main\java\com\pointlion\config\routes\SysRoutes.java

可构造出url:http://127.0.0.1:8089/JFinalOA_war/admin/sys/dct/listData?pageNumber=1&pageSize=10&groupId=87cc10818c7645918246a81f33b69036&_=1631700191765

直接把数据包丢进sqlmap,可以跑出来,就不贴图了。

前面两个都是后台的注入。

/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
漏洞代码:\src\main\java\com\pointlion\mvc\mobile\login\MobileLoginController.java
\src\main\java\com\pointlion\mvc\admin\sys\login\LoginController.java
这两处代码都是有注入的,一个手机端的登录,一个是pc端的登录。手机端登录可能是没有写完,没有前台页面,没有验证码,可以直接丢进sqlmap。
1、手机端
首先先看手机端的代码,MobileLoginController.java

传入两个参数,跟进这个方法

直接拼接sql,造成sql注入。
2、PC端
LoginController.java

可以看出这里是使用的shiro,看看shiro的数据操作。
根据shiro配置文件,可以看到是这个Java文件

跟进这个getByUsername()方法

直接拼接sql语句,造成SQL注入。但这里有验证码。所以不能使用sqlmap了。
只能手工测试。或者使用直接构造sql语句登录

从源码中可以看到,使用的是加密字符写入数据库,写一个测试的类,类获取一个加密的密码。

/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
起因是朋友问fanwei o2o源码搭建的站后台能不能拿shell,于是我进后台进行了一番尝试,各功能点没什么进展,好多地方过滤了,上传也是白名单,编辑器的1day修了,万幸的是有个拿不到shell但是可以执行sql语句的功能点,再通过fofa提取特征,在其他站点下拿到一份残缺的源码(Git_Extract工具拖出来的源码文件名是中文会乱码,换用GitHack解决)。
这次拿到了三份不同版本的源码(v1.x,v3.x,v6.5),真实环境的站一个是朋友发的那个v3.x的站一个是fofa找的v6.9的站。

尝试Shell写到慢日志绕过priv,需要绝对路径,我是这么找的:
1.写python脚本遍历源码下的所有路径和文件后burp suite访问所有文件甚至是构造畸形参数以尝试出现报错页面。
2.在上传iconv压缩包处上传畸形压缩包制造报错找到了绝对路径
可惜sql语句执行错误,没有写入权限,高版本的话对这里则是做了过滤,替换了反斜杠。

二、审计源码

通过前期翻sql表的信息收集可以知道任务计划表的data字段是序列化后存储在数据库的表里的,所以拿到源码先看了任务计划处功能点的“立即执行计划任务”的操作,使用
“立即执行计划任务”操作会将yanhuo_schedule_list表的data字段值反序列化后再调用类自定义的exec函数,所以我就想通过updata语句修改成我们需要的payload然后流入exec函数,而残缺的源码里正好缺了这部分找不到exec()函数里面咋写的。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke