渗透测试笔记
报告小抄。
渗透测试笔记代码漏洞XSS存储型XSS技巧
PDF解析导致XSS攻击。
漏洞描述
利用跨站脚本漏洞欺骗用户,收集Cookie等相关数据并冒充其他用户。通过精心构造的恶意代码,可以让访问者访问非法网站或下载恶意木马。
网站在解析PDF时未进行安全检测,容易引起跨站脚本攻击的风险。
修复建议
在服务器端对传入的参数进行验证,过滤包含HTML的特殊字符。
对传入数据中的HTML特殊字符进行转义处理。
排查涉及PDF解析的所有功能,对PDF中的js脚本进行安全检测。
限制PDF执行js脚本。
反射型XSS技巧暂无
漏洞描述
利用跨站脚本漏洞欺骗用户,收集Cookie等相关数据并冒充其他用户。通过精心构造的恶意代码,可以让访问者访问非法网站或下载恶意木马。
修复建议
在服务器端对传入的参数进行验证,过滤包含HTML的特殊字符
对传入数据中的HTML特殊字符进行转义处理
文件上传任意文件上传技巧暂无
漏洞描述
在上传文件时,存在任意文件上传。
头像上传功能仅支持上传和检验jpg、png等图片格式,但是仅在前端进行了校验,通过抓包修改的方式可上传php、jsp、asp、txt等 ...
EVM指令集
摘自《精通以太坊》
算术操作算术操作码指令:
123456789101112ADD //Add the top two stack itemsMUL //Multiply the top two stack itemsSUB //Subtract the top two stack itemsDIV //Integer divisionSDIV //Signed integer divisionMOD //Modulo (remainder) operationSMOD //Signed modulo operationADDMOD //Addition modulo any numberMULMOD //Multiplication modulo any numberEXP //Exponential operationSIGNEXTEND //Extend the length of a two's complement signed intege ...
nat类型
NAT类型网络地址转换器(NAT)NAT不止检查进入数据包的头部,而且对其进行修改,从而实现同一内网中不同主机共用更少的公网IP(通常是一个)。
基本NAT(Basic NAT)基本NAT会将内网主机的IP地址映射为一个公网IP,不改变其TCP/UDP端口号。基本NAT通常只有在当NAT有公网IP池的时候才有用。
网络地址-端口转换器(NAPT)到目前为止最常见的即为NAPT,其检测并修改出入数据包的IP地址和端口号,从而允许多个内网主机同时共享一个公网IP地址。
锥形NAT(Cone NAT)在建立了一对(公网IP,公网端口)和(内网IP,内网端口)二元组的绑定之后,Cone NAT会重用这组绑定用于接下来该应用程序的所有会话(同一内网IP和端口),只要还有一个会话还是激活的。
例如,假设客户端A建立了两个连续的对外会话,从相同的内部端点(10.0.0.1:1234)到两个不同的外部服务端S1和S2。Cone NAT只为两个会话映射了一个公网端点(155.99.25.11:62000), 确保客户端端口的“身份”在地址转换的时候保持不变。由于基本NAT和防火墙都不改变数据包的端口号 ...
网安面试问题汇总
网安面试问题汇总SQL注入方式有哪些1.按照注入方式分类
联合查询注入可以明确判断回显位置的情况下使用
报错注入无回显位置,可以有报错输出的情况可以使用
布尔盲注关闭错误回显和数据回显,但是页面会根据我们的输入对错变化。可以使用。
时间盲注无任何形式的回显,但是仅仅对睡眠函数有响应,可以使用时间盲注。
堆叠注入堆叠注入在mysql上不常见,必须要用到mysqli_multi_query()或者PDO,可以用分号分割来执行多个语句,相当于可直连数据库。Mssql则较常见堆叠注入。
2.根据注入点分类
数字型注入
字符型注入
搜索型注入
在Mysql5.0以上和Mysql5.0以下的版本中最大的区别是什么?
在Mysql5.0以上的版本中加入了一个information_schema这个系统表,这个系统表中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号和口令,而Mysql5.0以下的只能暴力跑表名
5.0 以下是多用户单操作,5.0 以上是多用户多操作。
sql注入常见函数有哪些1.数据库基本函数
1234567891011121314151617# ...
区块链学习笔记Day8:智能合约安全
学区块链做的笔记Day8,大部分内容来自《精通以太坊》。
智能合约安全重入攻击这里这个重入攻击先是,在网上看了很久,根本没看懂,后面才看的书,发现书里其实写的很明白。
这里我把书上的代码简化了一下(毕竟只是做演示)。
合约代码编译器版本:0.4.22。
钱包.sol:
1234567891011121314contract EtherStore { // 创建{账户: 余额}表 mapping (address => uint256) public balances; // 用于接收传入的ETH,然后更新余额 function depositFunds() public payable { balances[msg.sender] += msg.value; } // 验证并转出余额,然后更新余额 function withdrawFunds (uint256 _weiToWithdraw) public { require(balances[msg.sender] ...
在线访问jupyter服务并添加域名
之前有写过一篇如何在服务器搭建jupyter的文章,但是当时什么都不懂,有很多地方就是脱裤子放屁了,而且当时只能通过ip+端口的方式进行访问,并不能通过域名访问,这次主要就是想通过域名来访问jupyter服务。
访问jupyter的时候发现现在新出了个jupyter lab感觉比原来的好用,而且包含了notebook原来的功能,所以现在就搭建这个。(其实就是把jupyter notebook改成了jupyter lab)
准备
有nginx的服务器一台
域名
开始搭建1.安装略
2.生成配置文件1jupyter notebook --generate-config
这不可以看到生成的配置文件的地址,一般是在~/.jupyter/jupyter_notebook_config.py里。
3.编辑配置文件设置
12c.ServerApp.allow_origin = '*'c.ServerApp.allow_remote_access = True
4.创建systemd任务1vim /etc/systemd/system/jupyter.service
向里面写入 ...
linux命令笔记
linux常用命令汇总查看系统基本信息123uname -acat /etc/issuecat /etc/*-release
网络代理123export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890 #设置代理地址export -p #查看代理信息unset http_proxy https_proxy all_proxy #关闭代理
端口占用及进程12netstat -ntlp #查看端口占用情况,已经占用端口的PID和程序名ps -ef #查看进程及运行进程的用户
查看日志1journalctl -u xxx.service -f #实时查看某服务的日志
gemini本地调用时429错误
问题描述最近跑前段时间写的一个调用gemini的项目,发现一直报错。报错提示如下:
1234567891011121314151617181920212223242526272829303132333435Traceback (most recent call last): File "D:\anaconda3\lib\site-packages\google\api_core\grpc_helpers.py", line 79, in error_remapped_callable return callable_(*args, **kwargs) File "D:\anaconda3\lib\site-packages\grpc\_channel.py", line 1160, in __call__ return _end_unary_response_blocking(state, call, False, None) File "D:\anaconda3\lib\site-packages\grpc\_cha ...
记一次失败的软件删除经历
记一次失败的软件删除经历起因之前有到CTF题有用到PGP,当时下了之后一直都删不掉,突然这天晚上抽风想去把它删干净但是失败了。
下面是原本想写的文章内容。
问题描述PGP已经删除后还是有PGP Viewer。
桌面上每次重启都会有PGP的图标,删除不了,改注册表可以删一次,但是下一次又会回来。
解决方法网上PGP相关文件的位置在:
C:\Program Files\PGP Corporation 有文件
C:\ProgramData\PGP Corporation 无文件
C:\Users\win10\AppData\Roaming\PGP Corporation 有文件
C:\Users\win10\Documents\PGP Corporation 无文件但是有↓
C:\Users\win10\Documents\PGP
如何把pgp软件卸载干净 - CSDN文库
尝试删除,但均提示文件被占用。
启动任务管理器,发现有两个程序正在运行,结束任务。
除C:\Program Files\PGP Corporation外 ...
用户中心项目实践笔记
项目实践笔记。
项目来自编程导航知识星球 | 鱼皮的编程宝典 (codefather.cn)
注意事项一定要提前检查node,npm等的版本和源,不然可能会出现很多问题。
如果视频教程里和文档里写的不一样,请以文档里的为标准,不要抄视频里的代码。
二八定律:在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%的尽管是多数,却是次要的。
企业做项目流程
需求分析。
设计(概要设计、详细设计)。
技术选型。
初始化 / 引入需要的技术。
写 Demo。
写代码(实现业务逻辑)。
先做设计
代码实现
持续优化
测试(单元测试)。
代码提交 / 代码评审。
部署。
发布。
初始化项目
官方模板。
Github代码。
IDEA等工具生成。
项目模板瘦身
移除国际化。
移除测试用代码。
规整项目目录:
删除不必要的目录,如 前后端分离项目,后端删除static等前端的文件。
新建目录,如model,utils,service等。
数据库设计
不一定要在刚开始的时候就把所有字段都想好,可以后续补充,盲目添加字段容易过度设计。
常用字段
create_time 创建时间 ...