Hughes'Blog


  • Home

  • Tags

  • Categories

  • Archives

Be More Confident!

Posted on 2019-05-22 | In This is Life

我前任

Read more »

103天上岸经验贴

Posted on 2022-03-31 | In learning

写在前面

考研成绩
  • 初试 总分379/500,政治74,英语76,数学125,专业课104,初试排学硕第八
  • 复试 总分240/300,综合面试161,英语79 最终排学硕第九
本经验贴适合人群
  • 高数和线代有一定基础
  • 熟悉英语语法
  • 数据结构和操作系统有一定基础

我本科是电子科大软件学院,科研竞赛获奖只有中国高校计算机大赛网络技术挑战赛的国二,其他都是些文体比赛,什么“方言朗读者大赛”、“万米接力赛”、校园马拉松等等。

大一的成绩还勉强能看,排在全院10%左右,大二大三专业分流后,分到网安的大佬太多了,开启躺平模式,成绩一度下滑到50%,最后保研排名靠着师兄、工作室的同学带着拿的国二奖勉强拉回了一点,到25%,不过你电保研率只有20%,而且就我们专业人最多还没人弃保,最终与保研机会失之交臂。但是我觉得也并不可惜,毕竟自己没有在保研这条路上付出太大精力,最后能排到25%我甚至有点惊讶。

由于学院对实习的强制要求(二月份到八月份),我只能从八月份之后开始复习,真正复习开始时间是九月初返校后,之前没有复习过任何科目。

这是我在八月份结束实习后的计划,本来计划8月22号就返校开始复习,但最后还是拖延到了9月4号才返校。

schedule1

所以我总共的复习时间是103天。

Read more »

Oracle调用Java执行命令

Posted on 2020-07-15 | In learning

注入点发现

同事在代码审计时发现某银行的管理平台存在sql注入点:

注入点

但是通过sqlmap进行注入点检测时,却检测不出,于是尝试手工注入。

Read more »

记一次mssql权限提升

Posted on 2021-07-05 | In learning

记一次mssql权限提升

前

这次权限提升的目标机器是一台内网的windows,互联网边界的windows权限已经拿到,在代理搭建好后,使用扫描器扫描内网,发现这台windows存在Mssql弱口令。

mssqlpass

使用数据库工具进行连接后,尝试执行系统命令查看权限:

mssqlpass

发现权限非管理员权限,无法进行添加用户等操作。

Read more »

frp用于内网转发

Posted on 2021-07-05 | In learning

frp用于内网的代理转发

frp

frp是一个常见的内网穿透工具。内网穿透,即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。

UDP 内网穿透的实质是利用路由器上的NAT 系统。NAT 是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型 Internet 接入方式和各种类型的网络中。NAT可以完成重用地址,并且对于内部的网络结构可以实现对外隐蔽。

而在内网中,面对内网中不出网的机器,攻击者在外网无法直接访问到,通过frp进行代理,即可实现直接访问。

frp的工作模式

frp支持很多种协议,包括tcp、udp、http、https、socks等等,当然也可以实现端口对端口的转发。

frp分为客户端和服务器端,对应于不同的系统平台有不同的版本,但是名字都以frps和frpc进行区分,对应的配置文件有两种,分别是精简版和详细版配置文件:

1

一般启用精简配置文件就可以。

下面以两个典型为例:

Read more »

JSP学习笔记

Posted on 2020-05-10 | In learning

概念

Java Server Pages:java服务器端页面
可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码(所以得先学HTML和JAVA)
用于简化书写!!!

原理

JSP本质上就是一个servlet
在浏览器中输入url访问后,服务器首先会将目的jsp进行转化,转化成java代码,然后再编译成class文件,由class字节码文件来提供访问。(所以修改了jsp文件后不需要重启服务器,只需刷新页面就可以实现更新)

Read more »

PE加载过程

Posted on 2020-05-12 | In learning

PE文件结构详见上一篇博客:

概要

总共可以分为八个步骤:

1.将PE文件用ReadFile读取数据

2.根据PE结构获取镜像大小,在自己的程序中申请可读可写可执行的内存

3.将申请的空间全部填为0

4.将用ReadFile读取的数据映射到内存中

5.修复重定位

6.根据PE结构的导入表,加载所需要的dll,并获取导入函数的地址并写入导入表中。

7.修改PE文件的加载基址

8.跳转到PE的入口点处执行

数据目录

用途:

用来找到编译器加到PE文件中的信息,这些信息包含了如:

  • PE程序的图标信息
  • 用了哪些系统提供的函数(导入的函数)
  • 为其他程序提供了哪些函数(导出的函数)
定位:

可选PE头的最后一个成员,就是数据目录,一共16个:

1
2
3
4
5
6
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress;
DWORD Size;
} IMAGE_DATA_DIRECTORY, * PIMAGE_DATA_DIRECTORY;

#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16

分别是:导出表、导入表、资源表、异常信息表、安全证书表、重定位表、调试信息表、版权所以表、全局指针表、TLS表、加载配置表、绑定导入表、IAT表、延迟导入表、COM信息表 最后一个保留未使用。

和程序执行有关的:

和程序运行时息息相关的表有:

导出表

导入表

重定位表

IAT表

Read more »

PE节修改

Posted on 2020-05-12 | In learning

新增节

1、判断是否有足够的空间,可以添加一个节表.

判断条件:

SizeOfHeader - (DOS + 垃圾数据 + PE标记 + 标准PE头 + 可选PE头 + 已存在节表)>= 2个节表的大小

2、需要修改的数据

  1. 添加一个新的节(可以copy一份)

  2. 在新增节后面 填充一个节大小的000

  3. 修改PE头中节的数量

  4. 修改sizeOfImage的大小

  5. 再原有数据的最后,新增一个节的数据(内存对齐的整数倍).

6)修正新增节表的属性

Read more »

namespace

Posted on 2020-12-29 | In learning

Linux Namespace

Linux Namespace提供了一种内核级别隔离系统资源的方法,通过将系统的全局资源放在不同的Namespace中,来实现资源隔离的目的。不同Namespace的程序,可以享有一份独立的系统资源。目前Linux中提供了六类系统资源的隔离机制,分别是:

  • Mount: 隔离文件系统挂载点
  • UTS: 隔离主机名和域名信息
  • IPC: 隔离进程间通信
  • PID: 隔离进程的ID
  • Network: 隔离网络资源
  • User: 隔离用户和用户组的ID
  • Cgroup: 隔离进程组 (process groups) 所使用的物力资源 (如 cpu memory i/o 等等)

表中前六种Namespace正是实现容器所必须的隔离技术。

Network Namespace(转)

linux 中与Network Namespace相关的操作的子命令是 ip netns

ip netns add xx 创建一个 Namespace
1
2
3
# ip netns add net1
# ip netns ls
net1
ip netns exec xx yy 在新 namespace xx 中执行 yy 命令
1
2
3
4
5
6
7
8
# ip netns exec net1 ip addr 
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
# ip netns exec net1 bash // 在 net1 中打开一个shell终端
# ip addr // 在net1中的shell终端
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
# exit // 退出net1

上面 bash 不好区分是当前是在哪个 shell,可以采用下面的方法解决:

1
2
# ip netns exec net1 /bin/bash --rcfile <(echo "PS1=\"namespace net1> \"")
namespace net1> ping www.baidu.com

每个 Namespace 在创建的时候会自动创建一个回环接口 lo ,默认不启用,可以通过 ip link set lo up 启用。

Read more »

ipsec_vpn&docker

Posted on 2020-12-28 | In learning

Docker环境下IPsec配置实验

选用Docker的原因

实验要求一台主机和四台虚拟机,硬件条件不允许,只好选用docker来代替。

Docker

第一次接触Docker,之前只知道Docker是一种容器化技术

Docker 和虚拟机的区别

同为虚拟技术,区别如下:

  • 容器和宿主机共享kernel,即宿主机的kernel就是容器的kernel
  • 虚拟机有独立的文件、进程、内存系统,而容器只是做了隔离,Docker是进程之间的隔离,而虚拟机可以实现系统级别的隔离
  • 容器管理和虚拟机管理在速度上有很明显的差距,虚拟机可以做到10台/min,而Docker容器的创建是秒级别的

docker_vm

Docker Engine

Docker Engine属于Docker的运行层。这是一套轻量化运行时及工具组合,负责管理容器、镜像、构建 等等。它以原生方式运行在Linux系统之上,并由以下元素构成:

  • Docker Daemon,运行在主机之上的程序
  • Docker Client,负责与Docker Daemon通信以执行命令,Docker采用的是CS模式
  • REST API,用于同Dockers Daemon远程交互
Read more »
12…5>

44 posts
2 categories
31 tags
GitHub E-Mail
Links
  • Supergate
  • Weihongtao
  • Hujiekang
  • Centrix
  • CjDuan
  • Cool
© 2022