本节课内容主要是权限提升的思路,不涉及技术
当前知识点在渗透流程中的点
前期-中期-后期对应知识关系
当前知识点在权限提升的重点
知识点顺序,理解思路,分类介绍等
当前知识点权限提升权限介绍
注重理解当前权限对应可操作的事情
利用成功后的思想 需要总结的思路
相关的操作被拒绝无法实现的时候就会涉及到权限提升
具体有哪些权限需要我们知道和了解掌握的?
后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等
1.后台权限:(获取方式:爆破,注入猜解,弱口令等获取的账号密码配合登录)
一般网站或应用后台只能操作应用的界面内容数据图片等信息,无法操作程序的源代码或服务器上的资源文件等。(如后台功能存在文件操作的话也可以操作文件数据)
2.网站权限:(获取方式:以上三种思路获取)
查看或修改程序源代码,可以进行网站或应用的配置文件读取(接口配置信息,数据库配置信息等),还能收集服务器操作系统相关的信息,为后续系统提权做准备。
3.数据库权限:(获取方式:源码或配置文件泄露,也可能是网站权限webshell进行的数据库配置文件读取获得)
操作数据库的权限 ...
httpservletrequest常用方法
httpservletresponse常用方法
java_web项目运行流程
123456789101112https://blog.csdn.net/qq_41567818/article/details/124268376https://blog.csdn.net/qq_41567818/article/details/124269406https://blog.csdn.net/qq_41567818/article/details/124294816上面这个是配置ide的下面这些是搭建ofcms这个源码教程(建议看看,因为我一开始环境就有问题搞了很久)https://blog.csdn.net/YouthBelief/article/details/122978328下面这些是上面这个文章内置的链接文章,也是推荐看看的,我怕上面这个文章哪天没了,所以这里也记录一下https://blog.csdn.net/Alexz__/article/details/116229266https://forum.butian.net/share ...
查看web.xml(一般在web目录下)
查看过滤器(过滤器名:shiro)
搜索org.apache指向的库(注意名字还是有区别的)
过滤器的路由(/admin/*表示admin目录下的任意文件都会触发过滤器,如/admin/*.jsp就是访问目录下的jsp文件才会触发)
红色的是以什么形式访问被触发,这里有request等等
过滤器的介绍1234567---Filter 是 JavaWeb 中的过滤器,用于过滤 URL 请求。通过 Filter 我们可以实现 URL 请求资源权限验证、用户登陆检测等功能。---Filter是一个接口,实现一个 Filter只需要重写init、doFilter 、 destroy 方法即可,其中过滤逻辑都在 doFilter 方法中实现。---Filter 和 Servlet 一样是 Java Web 中最为核心的部分,使用 Servlet 和 Filter 可以实现**后端接口开发和权限控制,当然使用 Filter 机制也可以实现 MVC 框架, Struts2 实现机制就是使用的 Filter。---Filter 的配置类似于 Serv ...
过滤器和拦截器的区别
Filter 是基于函数回调的,而 Interceptor 则是基于 Java 反射的。
Filter 依赖于 Servlet 容器,而 Interceptor 不依赖于 Servlet 容器。
Filter 对几乎所有的请求起作用,而 Interceptor 只能对 action 请求起作用。
Interceptor 可以访问 Action 的上下文,值栈里的对象,而 Filter 不能。
最重要的要记住他们的执行顺序: 先 filter 后 interceptor,另外在不同框架中有的是自带(编码)有的是需要自写(安全防护规则),具体可以查看开发资料。
HttpServeletRequest:请求信息。
ActionContextCleanUP,Other filters:不重要,貌似现在已经没用了。
Filter Dispatcher:过滤器,这个应该是最底层的过滤器。
ActionMapper:主要检测请求信息是否需要 Struts2 处理。
ActionProxy:一个中间层,就是可以调用其他类什么的。
ConfigurationMana ...
SQL注入
select,insert,update,mysql_query,mysqli
文件上传
$_FILES,type="file",上传,move_uploaded_file()
XSS跨站
print,print_r,echo,sprintf,die,var_dump,var_export
文件包含
include,include_once,require,require_once
代码执行
eval,assert,preg_replace,call_user_func,call_user_func_array
命令执行
system,exec,shell_exec,passthru,pcntl_exec,popen,proc_open
变量覆盖
extract(),parse_str(),importrequestvariables(),$$$$
反序列化
serialize(),unserialize(),__construct,__destruct
其他漏洞
unlink(), ...
Metinfo-变量覆盖phpmydmin-无框架-反序列化搜索反序列化关键函数:serialize(),unserialize(),__construct,__destruct
$_POST['configuration']存在,并且变量action不等于clear,就调用反序列化函数
php魔术方法,反序列化会触发__wakeup()
__wakeup() : 使用unserialize()时触发
__sleep() : 使用serialize()时触发
__destruct() : 对象被销毁时触发
__call() : 在对象上下文中调用不可访问的方法时触发
__callStatic() : 在静态上下文中调用不可访问的方法时触发
__get() : 用于从不可访问的属性读取数据
__set() : 用于将数据写入不可访问的属性
__isset() : 在不可访问的属性上调用isset()或empty()触发
__unset() : 在不可访问的属性上使用unset()时触发
__toString() : 把类当作字符串使用时触发
__invoke( ...
12345知识点1:调试,访问,路由,配置,版本等知识点2:自写写法,不安全写法,规则写法知识点3:调试模式信息获取对应,结合入口路由配合对应,项目断点调试执行跟着
根据版本(5.0.15搜索相关漏洞,发现这里存在注入漏洞(必须要insert))
根据github上提供的源码,在test.php中上写一个public,最后按照github上给出的payload来利用
这里的数据库的名字,然后表名,以及这里的列名,如果不一样的话,那个payload也要和视频一样做更改
hsycms-不安全写法-未过滤在审计thinkphp类型的源码的时候,首先需要将调试模式。一般这个文件是叫config.php,一般是在app的目录下
目录结构:
这一章总结起来就是:审计的时候重要的是如何判断该源码的写法有没有用到框架,如果,没用框架,那么直接正常的审计方式,如果是那种用了框架,但是某些地方没有按照框架来写,这里我个人认为有两种同样是如果这个框架的版本有漏洞那么看是否可以利用,另外就是将这个没有按照规则写的代码进行正常的审计就行,最后一种就是完全按照框架写的,这种就只有按照版本的漏洞 ...
12345678910#代码审计教学计划:审计项目漏洞demo->审计思路->完整源码框架->验证并利用漏洞#代码审计教学内容PHP,java网站应用,引入框架类开发源码,相关审计工具及插件使用#代码审计必备知识点:环境安装搭建使用,相关工具插件安装使用,掌握前期各种漏洞原理及利用#代码审计开始前的准备:审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等#代码审计挖掘漏洞根本可控变量及特定函数,不存在过滤或过滤不严谨存在绕过导致的安全漏洞
SQL靶场的第二关12345678910111213// 关键代码$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";//echo sql; $result=mysql_query($sql);$row = mysql_fetch_array($result);/*分析如果有一个类似于echo的输出函数在这里,那么当我们写入一个 "<script>alert(1)</script>" 则会有 ...
12首先是关键字搜索:可以从函数,关键字,或者全局变量等等,函数可以是有upload关键字的,关键字可以和上章一样select之类的,全局变量就是$_GET或者$_POST或者$_FILES,之类的还可以通过浏览网站功能点,来发现漏洞,比如会员中心,新闻管理(添加,删除)等等
Beescms无框架后台任意文件上传首页:
后台:
phpstorm和xdebug首先我安装的是phpstorm2022.3的版本,然后php的版本是5.6.9,xdebug的版本是:php_xdebug-2.5.5-5.6-vc11-nts-x86_64
下载这个插件到这个F:\phpstudy\phpStudy_64\phpstudy_pro\Extensions\php\php5.6.9nts\ext目录(每个人的目录情况不一样)
1234567891011121314151617181920[xdebug];加载xdebug库文件xdebug.profiler_append = 0;效能监测的设置开关xdebug.profiler_enable = 1xdebug.profiler_enab ...