best_profile首先我们先分析nginx.conf的代码
12345678910111213141516171819202122232425262728293031http { include mime.types; default_type text/html; access_log off; error_log /dev/null; sendfile on; keepalive_timeout 65; proxy_cache_path /cache levels=1:2 keys_zone=static:20m inactive=24h max_size=100m; server { listen 80 default_server; location / { proxy_pass http://127.0.0.1:5000; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf ...
0c239692b5fdf341fc97cf04ee2985d069b9636753dfdfe8594e470a92c95898034edf6599fbf5ac3f8caff8f0d53aa1efc7dbfad2e551f8aef1986fb62b0e2c4719bad78a2ccc3271fa4a591ea89057b7ae669929239d5567fe142931716417c16ca6c3be2fa7bef8f5552ad4981f2ac836b250abc589509fdbb230324a7b1fbd9c3ee1f43b53f88b57331dc4c8688f2097eff5133fe73ba635acd4ad1cdc7523b6ca57418eed348ee64b103467fccccbd3d2b3cdc52e8cd2c2254c69bb3cee367b82d4f0e9e3c6f99b1574fc3ac8685d286de0f8dda324b1229ecc4f17282c94f25160ffb407332d44b241f2785e2d661e92a3911dda364 ...
cd5699025e1016936ab721471ecd2fff10b375cd2a2a9023110763c65a9c8a1d4bfd6bea00c98829bb5ba5df05f3e04f2dcc3477da5964c42b23a52c690ce03d1d47343d09a19f5d89d3f83a275af3580d2c728972c789859853e4aca2b7b017b2e2ff0d77e0711c8347f96a9d6d4ec2fb426ce8f5a6e0bcdf5da645140f52369461df5fa2737ba46e55cd077808d6c4a8f7e1e3333b109fbba027d3ea5596cf94037d54665a5fb40458cb5090668e6165da12cf9929fb8a4aaa3be7427edea0c549e2c1965ae222fbe271a0442c9cfbee3df3805b33820f3d976ab799f2fdd45eaeb0a3d31acae8a2374fbf0c35ac99273d54e897babc366 ...
cd5699025e1016936ab721471ecd2fff10b375cd2a2a9023110763c65a9c8a1dc7561916cff8f7ca1368a56e66f1388127c614a097e515315e0d8dc6e68fefdbe3c0f2354d905d9fcfd4282bdc8a7a64abf21fd45aa43a358668ce4f6bedb3cd9951e3a17246309a2c4f54eac9408ac84c7ffa8ee28729d134220e9f17043faa5184469750c73781817e341d74cde8688190abb9323d9fb4ce1b3b46b6451f788e671fc00ac75df733dc98a18a411deb50350691dcc15969ca84d599345a2f30a9d2f73bdaf14360a4a586d3fe8890b7f113d745bf2d86a6121a922d2778ddf6888773937ceaa44b974be3584413b13069959e41d597e8b26 ...
d282e783d8801791e9fe26bf6ae163c782c4f0dbc93fab6fe82f05a302abd35333ab01a27e114fb0675c8847d570bdaf51532e3c48e9382c26fad84e5b319c067f58e1c3c294e0763093d7fc5c25ce9f6c0cee457d8b89873e183e67fc955db2e35df2093b3a8060a0cf5ef9bb33519e00cba0d71cec2baf01b0693d5c9de1ac6d87ad00739d23751cf8539e79e36f87d41c390872befa910f7a21487bc1f3bd66aeb1a97efa1cab33efc089f7cdbeb6e5797ba0474034d2e0fc27e9faf348545aad49a820231567e9bde51c54753721d9ef3b717be2e68b6c9906866cb91230403595596b5296af020261ab4ad1688ac0b6ec1086d09be93 ...
2a96eb7dfe498529d847ec0a49a2e1f1967b5c6623f629ac4d68eeea288bb7ba8093154a00b552df30c66021e5a6e7e9d2b093df2c8733591e9af4b2db8b0386f39f2905e5d2e04ab82af4305d37d79c5bceb69e7ca73e4e2db9b3a02bdf96865e163bc60c505d7f4c2833f77bd6cd4146128bd494b669964b8aea64963297cc549910663badd5034df5564d23b74221ef981baf7cc001c0b5d334ba9f196bda5211738d7a903e2501bc49f7b3b05cbee2cceaa66c34ee461c565e291dd97d028d4f9028af46d91cc3cdb2f67749f3181a7e383dd065c52ccaa9b1d2aa3d817a7725046146b9611f68b53ef0cfddc4f915ea4981653cfe4fc ...
前言这次是笔者第一次自己未借鉴任何文章审一个独立项目
这次所审的项目比较老,但非常适合像我一样的java审计新手来进行尝试,下面我会仔细写上鄙人这次的审计思路和方法
本次我用的是半黑盒+半白盒的审计方法
环境搭建项目地址:https://github.com/ZeroWdd/studentmanager
jdk 1.8
mysql 5.5
tomcat 7
我是用navicat来搭建数据库,字符集选择的是utf8,排序规则选择的是utf8_bin
新建完数据库后将项目中的sql.sql文件导入进去
然后在application.yml文件中将相关信息输入进去
做完这些之后就可以通过StudentmanagerApplication.java启动项目了,默认端口是8080
审计sql注入一拿到这个项目的时候,第一件事情就是看pom.xml文件,看有哪些可以利用的依赖以及版本,看用的数据库是哪一种
这里是用mybatis,因此我们就先从审是否存在sql漏洞开始
而mybatis的未做预处理的话所用的危险字符便是${,所以我们全局搜索一下,跟sql相关的xml文件中什么都没有 ...
参考深入学习Java代码审计技巧—详细剖析某erp漏洞-先知社区
环境搭建https://github.com/jishenghua/jshERP/releases/tag/2.3
java版本为1.8
创建完数据库之后,在application.properties文件中修改相关的数据库数据
然后就可以启动了
下面为一位师傅的审计思路,个人觉得是非常的有道理
对于Java代码审计,主要的审计步骤如下:
确定项目技术框架、项目结构
环境搭建
配置文件的分析:如pom.xml、web.xml等,特别是pom.xml,可以从组件中寻找漏洞
Filter分析:Filter是重要的组成部分,提前分析有利于把握项目对请求的过滤,在后续漏洞利用时能够综合分析
路由分析:部分项目请求路径与对用的controller方法不对应,提前通过抓包调试分析,了解前端请求到后端方法的对应关系,便于在后续分析中更快定位代码
漏洞探测
探测之前可借用工具辅助分析,如codeql、fortify、Yakit、BP等
SQL注入分析、RCE分析可先从代码入手,通过关键API及特征关键字来进行逆向数据流分析,从s ...
java内存马
未读参考Java内存马Java-Agent篇
概念一个运行中的 Java 程序运行在一个 JVM(Java 虚拟机)实例中。
Java Agent可以在程序运行时动态地修改Java字节码,进而动态地修改已加载或未加载的类、属性和方法的技术。
对于 Agent(代理)来讲,其大致可以分为两种,一种是在 JVM 启动前加载的premain-Agent,另一种是 JVM 启动之后加载的agentmain-Agent。这里我们可以将其理解成一种特殊的Interceptor(拦截器),如下图:Premain-Agent
agentmain-Agent
Java Agent实例环境配置起一个默认的Maven环境。
在项目的/src/main/目录下创建resources目录,并往下创建META-INF目录,在该目录下创建MANIFEST.MF文件,目录结构如下图:
在pom.xml中添加如下代码:
1234567891011121314151617181920212223242526272829303132333435<build> <pl ...
代码审计
未读前言本文先发于先知社区:代码审计-Echo2.3-先知社区
项目介绍开源社区系统:基于 SpringBoot + MyBatis + MySQL + Redis + Kafka + Elasticsearch + Spring Security + … 并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。3000+Star的项目还是比较不错的
项目地址:https://gitee.com/veal98/Echo
环境搭建123456JDK 1.8.0_65Maven 3.9.9redis 3.0.504zookeeper 3.6.4kafka 2.12-3.5.1Elasticsearch 6.4.3
redis的安装较为简单,这里就不介绍了
对于zookeeper和kafka来说,两个是配套使用的,并且kafka就已经内置了适配的zookeeper了,不需要我们自己再去单独下载安装,要不然你还要考虑两个版本适不适配(吃了大亏。。。)
这里直接贴链接:https://www.cnblogs.com/Marydon20170307 ...