Web入门-JS逆向
Web入门-JS逆向JS基础Window对象成员:
12345678910111213document Document对象histroy History对象location Location对象 navigator Navigator对象screen Screen对象scrollBy() 按指定像素值滚动内容scrollTo() 把内容滚到指定坐标setInerval() 定时器setTimeout() 延时器alert() 警示框prompt() 对话框open() 打开新页面close() 关闭页面
Document对象成员:
123456789101112body <body>元素cookie 当前cookiedomain 文档域名lastModifid 文档最后修改日期时间referrer 访问来源title 文档标题URL 当前URLgetElementById() 返回指定ID的引用对象getElementsByName() 返回指定名称对象集合getElementsByTagName() 返回指定标签名对象集合open() 打开流接收输入输出wrie() ...
硬件安全初探-实战基础
硬件安全初探-实战基础MIPS32汇编MIPS32寄存器分为通用寄存器GPR和特殊寄存器。MIPS体系结构有32个GPR,汇编中可用$0~$31表示,也可用寄存器名表示,堆栈从内存高地址向低地址增长。
编号
寄存器名
描述
0
zero
值始终为0
1
$at
保留
2~3
$v0~$v1
values,保存表达式或函数返回结果
4~7
$a0~$a3
arguments,作为函数前4个参数
8~15
$t0~$t7
temporaries,临时寄存器
16~23
$s0~$s7
saved values,子函数使用时需先保存原寄存器的值
24~25
$t8~$t9
temporaries,临时寄存器,补充$t0~$t7
26~27
$k0~$k1
保留,中断处理函数使用
28
$gp
global pointer,全局指针
29
$sp
stack pointer,堆栈指针,指向堆栈栈顶
30
$fp
frame pointer,保存栈指针
31
$ra
return address,返回地址
对于第0号寄存器,总返回0;第 ...
恶意程式前线战术指南笔记
恶意程式前线战术指南笔记档案映射PE蠕虫感染1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include <iostream>#include <Windows.h>#pragma warning(disable : 4996) /* Title: User32-free Messagebox Shellcode for All Windows * Author: Giuseppe D'Amore * Size: 113 byte (NULL free) */char x86_nullfree_msgbox[] = "\x31\xd2\xb2\x30\x64\x8b\x12\x8b\x52\x0c\x8b\x52\x1c\x8b\x42" "\x08\x8 ...
Windows软件调试初探-WinDBG命令入门
Windows软件调试初探-WinDBG命令入门碎碎念标准命令有:
控制调试目标执行,包括回复运行g、跟踪执行t、单步执行p、追踪监视wt。
观察和修改通用寄存器r,读写MSRrdmsr/wrmsr,设置寄存器显示掩码rm。
读写I/O端口ib/iw/id、ob/ow/od。
观察、编辑和搜索内存数据的d系列、e系列、s系列。观察栈k系列。
设置和维护断点bp/ba,管理断点bl/bc/bd/be。
显示和控制线程~,显示进程|。
评估表达式?,评估C++表达式??。
汇编与反汇编a/u。
显示段选择子dg。
执行命令文件$。
设置调试事件处理方式sx系列,启用/禁止静默模式sq,设置内核选项so,设置符号后缀ss。
显示调试器和调试目标版本version,显示调试目标所在系统信息vertarget。
检查符号x。
控制和显示源程序ls系列。
加载调试符号ld,搜索相邻符号ln,显示模块列表lm。
结束调试会话q,结束远程调试qq,结束调试会话并分离调试目标qd。
标准命令帮助?。
元命令以点开始,有:
显示和设置调试会话的调试器选项,如符号选项.symopt ...
Windows驱动开发入门-NDIS小端口驱动
Windows驱动开发入门-NDIS小端口驱动碎碎念小端口驱动就是真正的网卡驱动,相对协议驱动而言,更贴近物理层。小端口驱动主要用于虚拟网卡,例如将通信接口由网络接口变为USB接口等。NDIS小端口驱动之一为ndisedge,使用WDF方式编码,是个虚拟网卡驱动,下层不通过任何物理设备,通过上节ndisprot协议驱动进行收包和发包。
NDIS体系
与上一层关系
TCP/IP NDIS协议驱动
ndisedge NDIS小端口驱动
通过NDIS接口
ndisprot NDIS协议驱动
通过IRP的发送和完成
物理网卡驱动 NDIS小端口驱动
通过NDIS接口
网卡 硬件
通过IO和中断资源
本节我只找到Windows Vista之前的解决方案,最新解决方案为https://learn.microsoft.com/zh-cn/windows-hardware/drivers/network/roadmap-for-developing-ndis-miniport-drivers但需要时间研究,先搁着。
Windows驱动开发入门-NDIS协议驱动源码
Windows驱动开发入门-NDIS协议驱动源码debug.c:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119 ...
Windows驱动开发入门-NDIS协议驱动
Windows驱动开发入门-NDIS协议驱动碎碎念本节代码需要最低警告、关警告按错误处理、关符合模式、关SDL检查、导入ndis.lib和wdmsec.lib。可直接参考Github上微软官方的驱动代码示例库的ndisprot工程。本节代码用传统型驱动编码方式,后面NDIS小端口驱动将用WDF驱动编码方式。
最常用的Ethernet V2(ARPA)以太网包如下,若类型2字节为0x80、0x00则表示为IP包。
低地址
高地址
源网卡MAC地址
目标网卡MAC地址
类型
数据
6字节
6字节
2字节
其他
协议驱动接收上层用户的Socket请求,把这些数据封装为IP包,再把IP包封装成以太网包发送出去;接收到以太网包时,分析这时给哪个用户程序的,把用户数据解析出来,提交给上层应用程序。协议驱动较多用于嗅探,如Wincap,一般不用于防火墙,应为这玩意儿不好干预应用程序发送或接收包。
网卡驱动接口标准NDIS是一组定义好的函数接口的集合。NDIS网络驱动有三种:协议驱动、小端口驱动、中间层驱动(包含过滤驱动),开发者可提供这三种不同的内核模块给NDIS使用。协议驱 ...
Windows驱动开发入门-WFP过滤平台
Windows驱动开发入门-WFP过滤平台碎碎念本节讲网络传输层过滤,其中传输层接口TDI接口技术已被淘汰,取代其的新技术称为Windows过滤平台WFP。WFP包含用户态API和内核态API,本节只讲内核态开发。
WFP分为两大层次模块,用户态基础过滤引擎BFE和内核态过滤引擎KMFE。基础过滤引擎对上提供C调用方式的API以及RPC接口,这些接口封装在fwpuclnt.dll中。基础过滤引擎对下和内核态过滤引擎交互,受内核态过滤引擎控制。内核态过滤引擎与系统网络协议栈交互,通过垫片(此垫片非彼垫片)内核模块从网络协议栈Tcpip.sys中获取网络数据,垫片被插入到网络协议栈各个层中。垫片获取到数据后,通过内核态过滤引擎提供的分类API,把数据传到WFP相应分层中。内核态过滤引擎分为若干个分层,每个分层中存在一个或多个子层和过滤器,子层是分层的更小划分。子层被赋予不同权重,同一个子层中,WFP按照权重从大到小把数据交给相应子层。
例如TCP/IP协议栈中从上到下有数据流分层垫片、ALE网络连接管理、传输分层垫片(TCP/UDP)、网络分层垫片(IPv4/ ...
Java代码审计入门
Java代码审计入门环境准备Docker得用魔法,现在倒是有个经过审查的Docker镜像源。Linux下配置文件为/etc/docker/daemon.json,Windows下直接在Docker Desktop中改。配置文件如下:
12345{ "registry-mirrors": [ "https://hub.atomgit.com/" ]}
然后刷新守护:
123sudo systemctl daemon-reloadsudo systemctl docker restartdocker info #查看是否换源成功
若出现意外则用apt删了重装就行,反正我重装了三遍才换好。
Docker常用命令:
1234567891011121314#测试用docker pull hello-worlddocker run hello-world#基础命令docker run ubuntu echo "helloworld"docker search to ...
Web入门-Java相关
Web入门-Java相关[NUSTCTF 2022 新生赛]Ezjava1丢IDEA,HelloController.java主代码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051package com.joe1sn.controller;import com.joe1sn.module.EvalBean;import java.io.File;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMa ...