• 织梦dedecms出现Safe Alert Request Error step 的解决办法

    dedecms功能很强大,但总有些东西无法满足我们自己的需求,这就需要我们在设计模板时使用这个标记来编写程序,也总免不了要查询、更新、修改数据库。但是不是欣喜的编写完程序后运行程序系统却提示你Safe Alert Request Error step 1 或 Safe Alert Request Error step 2。引起这个的主要原因是dedecms 5.6开启了安全检测的功能,避免sql注入,提高系统的稳定性、安全性!我们完全可以在不关闭安全检测的前提下,实现这些功能!比如下面这段代码: {dede:php runphp='yes'} $tag = trim($_SERVER['QUERY_STRING']); $tags = explode('/', $tag); if(isset($tags[1])) { $tag = urldecode($tags[1]); } if(isset($tags[2])) { $PageNo = intval($tags[2]); } if(empty($PageNo))$PageNo=1; $PageNo=($PageNo-1); $sql_tag="select * from `dede_archives` where `id` in (select `aid` from `dede_taglist` where `tag` like '$tag') and `litpic`<>'' order by click desc limit $PageNo,8"; if(!isset($dsql)||!is_object($dsql)){ $dsql=new DedeSql(false);}   $dsql->SetQuery($sql_tag); $dsql->Execute(); @me="" while($row=$dsql->GetArray()){ $me=$me."<img src='".$row['litpic']."'>"; } {/dede:php} 该段代码理论上是实现查询某个TGA标签所对应的图片文章,而且是能翻页的!(这个只是个举例!)但在实际执行过程中却提示“Safe Alert: Request Error step 2”;经过研究发现,dedecms在执行自己编写的代码时会进行安全检测,以防被注入。牵扯到“select union”等数据库语句,有两种方法可以解决这个问题: 第一个方法: 在include文件夹中找到dedesql.class.php文件,打开后找到$this->safeCheck = true;将“true”修改为false即可屏蔽掉安全检测。当然,这样存在一定的安全隐患 第二种方法:不屏蔽安全检测 dedecms不是对selecet等语句敏感吗,那我就不用select语句进行查询,自己创立一个select的代替者,如用chaxun代替select,这样上面的查询语句就可以写成: $sql_tag="chaxun * from `dede_archives` where `id` in (chaxun `aid` from `dede_taglist` where `tag` like '$tag') and `litpic`<>'' order by click desc limit $PageNo,8"; 估计你就要问了,这样怎么可能正常执行啊,瞎搞嘛!是的,这样肯定是不行的。我们需要对dedesql.class.php进行一定的修改。原理就是将之前代替的“select”别名”chaxun”在安全检测后更正为select在dedesql.class.php中找到函数function CheckSql($db_string,$querytype=’select’)将函数的返回语 return $db_string; 替换为 return str_replace("dede_database_chaxun","select",$db_string); 然后在查找CheckSql()这个函数,共有2处调用一处为if($this->safeCheck) CheckSql($this->queryString,’update’);另一处为 if($this->safeCheck)   {    CheckSql($this->queryString);   } 将这两处分别修改为 if($this->safeCheck) $this->queryString=CheckSql($this->queryString,'update'); 和if($this->safeCheck)   {    $this->queryString=CheckSql($this->queryString);   } 好了,大功告成!如果需要使用到union,update等语句时都可以照此进行修改!...

    2023-08-13 182
  • 记一次flask框架环境综合渗透测试

    PART.01 登入过程 1. 访问靶场地址http://101.43.22.226/?name=2023,框架为Flask。 2. 测试存在ssti注入。 3. 直接执行以下命令。 http://101.43.22.226/?name={% for c in [].__class__.__base__.__subclasses__() %} {% if c.__name__ == 'catch_warnings' %} {% for b in c.__init__.__globals__.values() %} {% if b.__class__ == {}.__class__ %} {% if 'eval' in b.keys() %} {{b['eval'('__import__("os").popen("whoami").read()') }} {% endif %} {% endif %} {% endfor %} {% endif %} {% endfor %} 4. 测试目标可以出网,直接执行命令反弹shell和上线msf。 5. 对当前机器进行信息搜集,存在双网卡172.25.1.3和10.10.10.100。 6. 添加路由。 7.对10.10.10.0段存活主机进行扫描, 8. 存活主机有10.10.10.101、10.10.10.102、10.10.10.200 和10.10.10.201。其中,200,201这两台机器开放了445端口,在此探测是否存在永恒之蓝漏洞。 9. 对200这台机器进行漏洞利用。由于不确定200这台机器是否出网,所以payload要设置成正向shell,最后成功获取到这台机器的权限。 10. 因为10.10.10.100这台机器是可以出网的,将它作为我们的跳板机。远程下载frp,搭建socks5代理。 11. 对10.10.10.101进行端口扫描,开放22和80端口,访问80的web服务。 12. 测试存在文件,文件包含漏洞(不存在远程文件包含)。 13. 经过fuzz读取到配置文件config.php,从中获取到数据库的账户密码。 14. base64解码后的数据库用户名为catcat,密码为wannatobeacat。但是由于数据库还是不能连接,因此想到了密码复用——使用ssh,登录上catcat的账户。 15. 当前用户权限较低,尝试提权。使用pspy扫描后发现,root用户每分钟会执行一次backup.sh,且当前用户catcat可以修改此文件。 16. 在backup.sh文件中添加 chmod 4475 /bin/bash,执行bash -p后成功提权。 17. 对10.10.10.102机器进行扫描,发现开放了22和5000端口。访问5000后发现,其是web服务。 18. 存在用户名枚举,但是未爆破出密码,sql注入也不存在。 19. 这里发现用的框架为Express。通常情况下,用的是mongdb数据库,尝试nosql注入。参考链接如下: https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/NoSQL%20Injection#exploits 20. 修改payload。 注意:需改动未Content-Type: application/json。 {"user": {"$ne": null}, "password": {"$ne": null}} 21.成功进入后台。 PART.02 渗透过程 1. 新建文章。 2. 提交后服务报错,从报错信息中获取到了网站的物理路径。 3. 存在上传功能点测试,返回非法的XML格式,并且发现数据库的请求头也是/articles/xml。查看是否存在xxe漏洞。 4. 尝试读取/etc/passwd文件,成功读取后确定存在xxe漏洞。 5. 就刚才获取到的网站物理路径,读取配置文件server.js的内容。 6. 执行命令反弹shell到主机10.10.10.100。 7. 发现当前用户可以凭借root权限执行/bin/check文件。 8. 查看/bin/check文件,引用os.py。 9. 此处直接修改os.py文件内容,以sudo的权限执行check文件即可提权(由于此处获取交互式shell就会系统停顿,所以没有继续提权)。 10. 主机10.10.10.201开放了比较多的端口,首先访问80端口,但其web服务需要进行验证,利用弱口令admin,admin成功进入后台。 11. 存在文件上传功能点,但是无论上传任何格式都能够成功返回,只是无法找到上传的路径。 12.此处提示样本会上传到文件共享服务器,测试团队将手动审查上传的内容,构造SCF文件以索取ntlm hash,并将文件上传到目标服务器。 13. 在跳板机上安装Respondr,并对其进行监听。 14. 成功抓取到NTLMv2 Hash。 15. 使用hashcat破解。 hashcat -m 5600 hash.txt rockyou.txt 16. 破解出密码为tobyallison31。此外,目标机器开放了5985端口,使用evil-winrm进行连接。 17. 生成正向木马bind.exe,上传到该目标机器后获取到meterpreter。 18. 查看powershell的历史记录,发现他下载并开启了Goservice服务,我们可以替换文件来进行提权。 19. 暂时停止服务。 20. 将bind.exe上传到目录,并重命名为service.exe。 21. 重新启动GoService服务。 22. 成功返回一个meterpreter且权限为system权限。 ...

    2023-08-13 157
  • 后门病毒携带蠕虫 使用多种免杀手段

    近期,火绒威胁情报系统监测到一款后门病毒正在快速传播,被激活后会释放多个恶意文件并执行,使黑客可以进行信息收集,远程控制等恶意操作。值得注意的是,该病毒不但使用多种免杀手段躲避查杀,其释放的子文件中还具有 Synares 蠕虫感染特征,可在受害者电脑的文件中进行传播。 用户点击病毒程序之后,该病毒就会释放并执行恶意文件,随后黑客可以远程控制用户电脑。除此之外,该黑客团伙在开发过程中疑似主机环境被Synares蠕虫病毒感染或有意捆绑,致使释放的子文件中存在着蠕虫的特征,增加了破坏性。执行流程如下图所示: 执行流程图 在免杀层面上,该病毒文件使用了包括:多层 PE 流调用、VMProtect 和 Safengine Shielden 加壳保护、DLL 内存加载、异常反调试、流程混淆等多种技术来进行对抗。在此,火绒工程师提醒大家警惕陌生文件,先查杀再使用。 一、样本分析: malware.exe: 在分析对抗层面上,病毒对运行逻辑进行了混淆处理,并利用了包括:函数指针动态获取、函数包装调用等手段来干扰静态分析: 函数指针动态获取 函数包装调用 在关键执行层面上,病毒文件先后释放 look2.exe 和 "HD_malware.exe" 文件并执行。其中 look2.exe 存放于用户的 TEMP 目录中,而 "HD_malware.exe" 则释放到桌面下,并赋予 "隐藏属性和系统保护属性" 隐藏自身。 执行流程图 文件示意图 Look2.exe: look2.exe 是一个支持持久化和配置更新的木马程序。该病毒在执行前会解密出互斥体名称: “kinh.xmcxmr.com:442:svchcst” ,通过该互斥体的成功创建与否来判断父进程 malware.exe 是否正在执行,以此决定后续操作。 父子进程交互 后续操作中,look2.exe 会尝试获取系统目录,然后释放一个以时间戳命名的 bat 文件,该文件实则为用于加载的 DLL 文件。根据父进程写入的执行标志位来决定是直接执行 DLL 内 MainThread 导出函数还是 Install 导出函数(这两个导出函数在后面解析),执行完后还尝试删除文件,但实际上由于文件被加载占用,所以无法被移除。 look2.exe 执行流程 另一种情况是 look2.exe 被用于执行配置更新操作,当命令行中包含 GUpdate 和要更新的注册表项时,程序会定位到指定的位置进行配置更新: 配置更新操作 释放的 DLL 文件实际上是 Gh0st 后门病毒的变种,该 dll 中包括 5 个导出函数,但都围绕着 MainThread 展开。导出函数名代表了真实意图,包括配置更新(DllUpdate)、创建服务(Install)、卸载服务(Uninstall)、服务启动函数(ServiceMain)。 导出函数列表 导出函数逻辑代码 MainThread 包含核心恶意功能,包括:终端数据收集,接收和执行控制命令、派发执行任意病毒模块等。火绒安全实验室在 2019 年发布的 《火绒5.0公测阶段就立功 有效防御某一类常见黑客攻击 》 文章中披露的后门病毒在执行流程和代码逻辑上,经对比与该函数没有太大改动,故不再重复分析。 注册表修改对比 信息收集对比图 HD_malware.exe: “HD__malware.exe” 是一个被 Synares 蠕虫病毒感染过的文件,当它执行时,会释放感染前的 ".cache_malware.exe" 源程序,并且执行蠕虫自身的感染操作,包括:更新自身配置、篡改注册表自启动项,感染指定位置 EXE 和 EXCEL 文件、远控,窃密等。执行流程如下所示: 执行流程图 Synares 蠕虫病毒是一个相对较老的病毒,虽然变种极多,但本次观察到的行为与以前版本并无太大变化,包括感染的三个指定位置为:%USERPROFILE%\Desktop、%USERPROFILE%\Documents、%USERPROFILE%\Downloads。包括键盘记录和 usb、目录文件信息记录,并通过邮件回传。包括基础远控功能:CMD 命令执行、屏幕截图、打印目录、下载文件、删除文件等,故不再重复分析。 代码逻辑图 ._cache_HD_malware.exe 释放出来的 ._cache_HD_malware.exe 是被感染前的原始程序,其套用 vmp 壳来试图隐藏自身逻辑: 套用 VMP 壳 在其内部嵌入了未加密的 EXE 文件,用于释放执行,并包含核心操作: 内嵌 EXE 文件 HD_.cache_HD_malware.exe 内嵌的 EXE 文件在释放时会再次以 “HD_” 做前缀,其同样被设置系统保护和隐藏属性,并且套用 SE 壳试图隐藏逻辑: 套用 SE 壳 当前文件示意图 该病毒文件执行时,会从 C2 服务器上下载 exploror.exe 写入到创建的 C:\windowss64 目录下 computer.exe 文件中并启动执行。 下载文件并执行 Computer.exe Computer.exe 是一个引导程序,用于引导内嵌的 DLL 加载执行。内嵌 DLL 是加密存储的,Computer.exe 在执行时会构造并利用异常来进行反调试,并且解密操作也在异常处理中定义。 解密 DLL 和异常反调试 在解密内嵌 DLL 后,会调用指定导出函数 fuckyou,剩下所有操作均由 DLL 内代码完成。 指定导出函数 该导出函数主体逻辑同样与火绒安全实验室在 2019 年发布的 《火绒5.0公测阶段就立功 有效防御某一类常见黑客攻击 》文章中提到的后门病毒,经对比并没有太大改动(DDOS 模块已移除),故不再重复分析。 代码对比 二:附录 HASH ...

    2023-08-13 159
  • Linux系统使用cp命令用法教程详解

    熟悉在 Linux 命令行中复制文件和目录的 cp 命令。 cp 命令是 Linux 中一个重要的命令,你可能经常会用到它。 正如名称所示,cp 代表 复制copy,它被用于 在 Linux 命令行中复制文件和目录。 这是一个相对简单的命令,只有几个选项,但你仍有必要深入了解它。 在展示 cp 命令的实际示例之前,我更建议你先熟悉绝对路径和相对路径的概念,将文件从一个位置复制到另一个位置时,你需要用到它们。 Linux 中的绝对路径和相对路径的不同之处 复制单个文件 cp 命令最简单和最常见的用途是复制文件,只需指定源文件和要“粘贴”文件的目标目录即可。 cp 源文件 目标目录 在复制文件的同时重命名它 你将文件复制到另一个位置时可以同时进行 重命名。这有点类似于文本编辑器中的“另存为”选项。 为此,你必须在路径中给出新的文件名。 cp 源文件 目标目录/新文件名 复制多个文件 你还可以将多个文件复制到另一个位置。 cp 文件1 文件2 文件3 目标目录 在这种情况下,你无法重命名文件。 你还可以使用通配符扩展,将特定后缀的文件复制到另一个位置: cp *.txt 目标目录 复制文件时避免覆盖现有文件 如果你将 file1.txt 复制到一个已经存在名为 file1.txt 文件的目录中,它会将原有的文件覆盖掉。 如果你不希望这样,cp 命令还提供了几个选项来处理文件覆盖的情况。 首先是使用选项 -i 的交互模式。在交互模式下,它会询问是否确认或放弃覆盖目标文件。 cp -i 源文件 目标目录 cp:覆盖 '目标目录/源文件' ? 按 Y 覆盖文件,按 N 跳过复制该文件。 选项 -n 代表完全取消覆盖。使用此选项时目标文件不会被覆盖。 cp -n 源文件 目标目录 还有一个选项 -b,在目标目录的文件将被覆盖时自动为其创建备份。我猜这里 b 代表 备份backup。 cp -b 源文件 目标目录 最后,还有一个“更新update”选项 -u,如果目标文件比源文件旧,或者目标文件不存在,就会被覆盖掉。 cp -u 源文件 目标目录 复制目录(文件夹) cp 命令也用来在 Linux 命令行中复制目录。 在复制目录时,你需要使用递归选项 -r。 cp -r 源目录 目标目录 你还可以将多个目录复制到另一个位置: cp -r 目录1 目录2 目录3 目标目录 在复制时保留属性 当你将文件复制到另一个位置时,它的 时间戳、文件权限 甚至所有权都会发生变化。 这是正常的行为。但在某些情况下,你可能希望在复制文件时保留其原始属性。 要保留属性,请使用选项 -p: cp -p 源文件 目标目录 ? 还有一个 -a 选项用于存档模式。它将连 ACL 也保留下来。 ...

    2023-08-12 149
  • 如何在命令行上舒适地生存?

    有时我与一些害怕使用命令行的朋友交谈,我感到自己给不出好的建议(我已经使用命令行太长时间了),因此我向一些 Mastodon上的人提出了以下问题: 如果在过去一到三年内,你刚刚不再害怕使用命令行了,是什么帮助了你? (如果你不记得,或者你已经使用命令行舒适地工作了 15 年,则无需回答——这个问题不适用于你 ?) 这个列表还不如我希望的那么长,但我希望通过发布它来收集更多的答案。显然,并没有一个单一的方法适用于所有人,不同的人会选择不同的路径。 我认为舒适使用命令行有三个方面:减少风险、动机和资源。我将先谈谈减少风险,然后是一些动机,并列出一些资源。 减少风险的方式 很多人(没错!)对在命令行上意外执行了一些无法撤销的破坏性操作感到担心。 以下是一些人们提到的帮助他们减少风险的策略: 定期备份(有人提到他们在上周的一个命令行错误中意外删除了整个家目录,但很幸运他们有备份)。 对于代码,尽可能多地使用 git。 将 rm设置为类似safe-rm或rmtrash这样的工具的别名,这样你就不会意外删除不应删除的内容(或者就设置别名到rm -i)。 尽量避免使用通配符,使用制表符键补全代替(我的 Shell 会使用 TAB键补全rm *.txt并显示我将要删除的内容)。 使用精美的终端提示符,可以显示当前目录、计算机名称、git分支和你是否具有 root 权限。 如果你计划对文件运行未经测试或危险的命令,先备份文件副本。 拥有一台专用的测试机器(如便宜的旧 Linux 计算机或树莓派)进行特别危险的测试,例如测试备份软件或分区。 对于危险命令,如果有的话,使用 --dry-run选项来查看执行结果而不实际执行操作。 在你的 Shell 脚本中构建自己的 --dry-run选项。 这些策略有助于降低在命令行上引发不可逆操作的风险。 杀手级应用程序 一些人提到了一个“杀手级命令行应用程序”,这激励他们开始花更多时间在命令行上。例如: ripgrep jq wget / curl git(一些人发现他们更喜欢使用 git 命令行界面而不是使用图形界面) ffmpeg(用于视频处理) yt-dlp 硬盘数据恢复工具(来自 这个精彩的故事) 还有一些人提到他们对图形界面工具感到失望(例如使用了所有内存,并使计算机崩溃的重型集成开发环境),并因此有动机用更轻量级的命令行工具替代它们。 激发人们的命令行技巧 有人提到被其他人在命令行上展示的酷炫功能所激励,例如: 命令行工具可以比你的 Hadoop 集群快 235 倍 Gary Bernhardt 的这个“命令行链锯”演讲 explainshell 有几个人提到了 explainshell,它可以让你粘贴任何命令行指令,并将其分解成不同的部分解释。 命令历史、制表符补全等等 有很多小技巧和窍门可以使在命令行上工作更容易,例如: 使用向上箭头查看先前的命令 使用 Ctrl+R搜索你的 Bash 历史记录 使用快捷键在行内导航:Ctrl+w(删除一个单词)、Ctrl+a(跳转到行首)、Ctrl+e(跳转到行尾),以及Ctrl+left arrow/Ctrl+right arrow(向前/向后跳转一个单词) 将 Bash 历史记录设置为无限制 使用 cd -返回上一个目录 文件名和命令名的制表符自动补全 学习如何使用像 less这样的分页工具阅读手册页或其他大型文本文件(如搜索、滚动等) 在 macOS 上使用 pbcopy/pbpaste将剪贴板内容复制/粘贴到 stdout/stdin 在编辑配置文件之前备份它们 fzf 很多人提到使用 fzf作为模糊搜索 Shell 历史记录的更好方法。除了作为更好的模糊搜索 Shell 历史记录的工具,人们还提到了一些其他用途: 选择 git分支(git checkout $(git for-each-ref --format='%(refname:short)' refs/heads/ | fzf)) 快速查找要编辑的文件(nvim $(fzf)) 切换 Kubernetes 上下文(kubectl config use-context $(kubectl config get-contexts -o name | fzf --height=10 --prompt="Kubernetes Context> ")) 从测试套件中选择要运行的特定测试 一般的模式是使用 fzf来选择某个对象(文件、git分支、命令行参数),fzf将所选对象输出到标准输出,然后将其插入作为另一个命令的命令行参数。 你还可以将 fzf用作工具,自动预览输出并快速迭代,例如: 自动预览 jq的输出(echo '' | fzf --preview "jq {q} ) 自动预览 sed的输出(echo '' | fzf --preview "sed {q} YOURFILE") 自动预览 awk的输出(echo '' | fzf --preview "awk {q} YOURFILE") 你可以参考这个思路。 通常,人们会为 fzf的使用定义别名,比如输入gcb或其他命令,以快速选择要检出的git分支。 树莓派 一些人开始使用树莓派,这样可以更安全地进行实验,而不必担心损坏计算机(只需擦除 SD 卡然后重新开始即可!)。 漂亮的 Shell 环境 很多人说,当他们开始使用像 oh-my-zsh或Fish这样更用户友好的 Shell 环境时,他们在命令行上感到更舒适。我非常同意这一点 – 我已经使用 Fish 十年了,我非常喜欢它。 在这里还有一些其他的事情可以做: 有些人说,让他们的终端更漂亮可以帮助他们感到更舒适(“让它变成粉色!”)。 设置一个漂亮的 Shell 提示符来提供更多信息(例如,当命令失败时,可以将提示符设置为红色)。特别是 transient prompts(在当前命令设置一个非常花哨的提示符,但在之前的命令中设置一个简单得多的提示符)看起来非常好。 一些用于美化终端的工具: 我使用 base16-shell powerlevel10k是一个流行的漂亮的 Zsh 主题,具有 transient prompts starship是一个漂亮的提示符工具 在 Mac 上,我认为 iTerm2比默认的终端更容易自定义。 漂亮的文件管理器 一些人提到了像 ranger或nnn这样的漂亮的终端文件管理器,这是我之前没有听说过的。 一个有帮助的朋友或同事 一个可以回答初学者问题并给你指点的人是无价的。 通过肩并肩地观察学习 有人提到观察更有经验的人使用终端 – 有很多经验丰富的用户甚至没有意识到自己在做什么,你可以从中学到很多小技巧。 别名 很多人说,为常用任务创建自己的别名或脚本就像是一个神奇的“灵光一现”时刻,因为: 他们不必记住语法 然后他们就有了一份自己常用命令的列表,可以轻松调用 查找示例的备忘单 很多手册页没有示例,例如 openssl s_client的手册页就没有示例。这使得起步变得更加困难! 人们提到了一些备忘单工具,比如: tldr.sh cheat(还可以进行编辑 – 你可以添加自己的命令以供以后参考) um(一个非常精简的需要自己构建的系统) 例如,openssl 的备忘单非常棒 – 我认为它几乎包含了我在实际中使用openssl时用过的所有内容(除了openssl s_client的-servername选项)。 有人说他们配置了他们的 .bash_profile,这样每次登录时都会打印出一张备忘单。 不要试图背诵 一些人说他们需要改变自己的方法 – 他们意识到不需要试图记住所有的命令,只需按需查找命令,随着时间的推移,他们会自然而然地记住最常用的命令。 (我最近对学习阅读 x86 汇编有了完全相同的体会 – 我正在上一门课程,讲师说“是的,刚开始时可以每次都查找,最终你会记住最常见的指令。”) 还有一些人说相反的观点 – 他们使用间隔重复应用程序(如 Anki)来记忆常用的命令。 Vim 有人提到他们开始在命令行上使用 Vim 编辑文件,一旦他们开始使用终端文本编辑器,使用命令行处理其他事情也变得更自然。 此外,显然有一个名为 micro的新编辑器,像是更好的pico/nano,适用于那些不想学习 Emacs 或 Vim 的人。 桌面上使用 Linux 有人说他们开始使用 Linux 作为他们的日常主力系统,而需要修复 Linux 问题可以帮助他们学习。这也是我在大约 2004 年熟悉命令行的方式(我非常喜欢安装各种不同的 Linux 发行版,以找到我最喜欢的那个),但我猜这不是如今最受欢迎的策略。 被迫仅使用终端 有些人说他们参加了一门大学课程,教授让他们在终端上做所有事情,或者他们自己制定了一个规则,一段时间内必须在终端上完成所有工作。 工作坊 有几个人说像 Software Carpentry这样的工作坊(面向科学家的命令行、Git 和 Python/R 编程简介)帮助他们更熟悉命令行。 你可以在这里查看 Software Carpentry 课程。 书籍和文章 一些提到的材料: 文章: 《终端》 《命令行功夫》(包含 UNIX 和 Windows 命令行技巧) 书籍: 《Effective Linux at The Command Line》 《Unix Power Tools》(可能有些过时) 《The Linux Pocket guide》 视频: Mindy Preston 的 CLI tools aren’t inherently user-hostile Gary Bernhardt 的 destroy all software screencasts DistroTube ...

    2023-08-12 164
  • MySQL数据库基本操作

    基本操作有:查看有哪些数据库、查看有哪些表、创建数据库、创建表、查看表信息、向表中插入数据等 # 查看有哪些数据库 MariaDB [(none)]> show databases; # 切换到test数据库 MariaDB [(none)]> use test; # 查看当前数据库有哪些表 MariaDB [test]> show tables; Empty set (0.000 sec) # 表明当前数据库是空的 # 如果test数据库不存在,则创建 MariaDB [test]> CREATE DATABASE IF NOT EXISTS test; # 在数据库test种创建表三个表:books、authors、series MariaDB [test]> CREATE TABLE IF NOT EXISTS books ( # 创建books表(前提是books表不存在,如果已经存在,则不创建) -> BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, -> Title VARCHAR(100) NOT NULL, -> SeriesID INT, AuthorID INT); Query OK, 0 rows affected (0.033 sec) MariaDB [test]> CREATE TABLE IF NOT EXISTS authors # 创建authors表(前提是authors表不存在,如果已经存在,则不创建) -> (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT); Query OK, 0 rows affected (0.005 sec) MariaDB [test]> CREATE TABLE IF NOT EXISTS series # 创建series表(前提是series表不存在,如果已经存在,则不创建) -> (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT); Query OK, 0 rows affected (0.005 sec) # 接下来我们再来看看表是否添加成功 MariaDB [test]> show tables; +----------------+ | Tables_in_test | +----------------+ | authors | | books | | series | +----------------+ 3 rows in set (0.000 sec) # 向books表中插入数据 MariaDB [test]> INSERT INTO books (Title,SeriesID,AuthorID) -> VALUES('The Fellowship of the Ring',1,1), -> ('The Two Towers',1,1), ('The Return of the King',1,1), -> ('The Sum of All Men',2,2), ('Brotherhood of the Wolf',2,2), -> ('Wizardborn',2,2), ('The Hobbbit',0,1); Query OK, 7 rows affected (0.004 sec) Records: 7 Duplicates: 0 Warnings: 0 # 查看表信息 MariaDB [test]> describe books; +----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+----------------+ | BookID | int(11) | NO | PRI | NULL | auto_increment | | Title | varchar(100) | NO | | NULL | | | SeriesID | int(11) | YES | | NULL | | | AuthorID | int(11) | YES | | NULL | | +----------+--------------+------+-----+---------+----------------+ 4 rows in set (0.002 sec) # 查询数据(从表中查询数据) MariaDB [test]> select * from books; +--------+----------------------------+----------+----------+ | BookID | Title | SeriesID | AuthorID | +--------+----------------------------+----------+----------+ | 1 | The Fellowship of the Ring | 1 | 1 | | 2 | The Two Towers | 1 | 1 | | 3 | The Return of the King | 1 | 1 | | 4 | The Sum of All Men | 2 | 2 | | 5 | Brotherhood of the Wolf | 2 | 2 | | 6 | Wizardborn | 2 | 2 | | 7 | The Hobbbit | 0 | 1 | +--------+----------------------------+----------+----------+ 7 rows in set (0.000 sec) 小知识:sql语句允许换行,直到遇到分号+回车才会认为sql语句输入结束,进入执行阶段 ...

    2023-08-12 179
  • 攻防演练|记一次对xx教育局攻防总结

    前言 这次攻防演练每个队伍分配不同的目标,有些队伍拿的点可以直接 nday 打,有些队伍外网打点十分困难比如我们,但分数是是统一算的,可以说不是那么的公平。不过也算是提供了些许经验,简单做一下总结,都是比较基础的东西,如有写的不正确的地方欢迎各位师傅指正。 外网打点 敏感信息泄露 一般来说学校外网能拿直接权限的点已经很少了,web 应用大多是放在 vpn 后面,因此能弄到一个 vpn 账号可以说是事半功倍 另外还可以通过语法筛选出存在默认弱口令的系统,常用命令如下: PLAINTEXT 1 2 3 4 5 6 7 #google语法 site:*.edu.cn intext: vpn | 用户名 | 密码 | 帐号 | 默认密码 #github*.edu.cn password   查看方式优先选择最近更新,太久远的基本上失效了 这里队友收集到了某个目标的 vpn 账号,使用的是 姓名拼音/12345678 弱口令 进去内网后能访问的只有一个 OA 系统,测试了一下没发现什么东西,寻找其他突破口 shiro 无链 常规的打点可通过 fofa、hunter、quake 等网络测绘平台进行资产收集,收集好后进行去重,把去重后的资产列表进行批量指纹识别,筛选出重要易打点的系统 在常规的 hw 中这些方法比较通用,但是对于教育行业来说会相对困难,有 edusrc 的存在许多通用型漏洞已经被提交修复了,因此在信息搜集的时候要多去寻找旁站和一些容易被遗漏的站点 坐了一天牢后,终于通过测绘平台找到一个比较偏的资产,直接访问是一个静态页面,但扫描目录后指纹识别一波发现是 shiro 直接工具开冲,发现有默认 key 但是无利用链 这里想到之前学习 shiro 可以无依赖利用,感觉有戏尝试一波,相关知识可学习此文章 https://www.le1a.com/posts/a5f4a9e3/ PLAINTEXT 12 java -jar shiro_tool.jar 地址VPS:端口 通过 dnslog 测试有回显,这里有个注意点:使用 http://dnslog.cn/部分站点会拦截,可以换多个 dnslog 平台测试 dnslog 有回显接下来就是拿 shell 了,这里由于固化思维,之前遇到的都是 linux 系统,先入为主觉得是 Linux,结果没利用成功 这里可以通过网站快速生成 payload,https://x.hacking8.com/java-runtime.html 一开始以为是防火墙拦截,后面队友探测了一下目录结构,发现是 windows,所以这里 payload 要改变一下 Linux:  ...

    2023-08-11 198
  • Github打不开无法访问怎么办?如何解决?

    Github只要是程序员应该没有人不知道的,开源网站,很多时候国内访问的时候不是很稳定,经常的登录不上打开不开网页,这种情况怎么办?如何解决?今天就分享一下方法。 话不多说直接开始教程: 1.打开C:\Windows\System32\drivers\etc 路径下的的hosts文件 在hosts文件内加上如下内容并保存 140.82.114.4 github.com 140.82.114.4 gist.github.com 185.199.108.153 assets-cdn.github.com 151.101.64.133 raw.githubusercontent.com 151.101.108.133 gist.githubusercontent.com 151.101.108.133 cloud.githubusercontent.com 151.101.108.133 camo.githubusercontent.com 151.101.108.133 avatars0.githubusercontent.com 151.101.108.133 avatars1.githubusercontent.com 151.101.108.133 avatars2.githubusercontent.com 151.101.108.133 avatars3.githubusercontent.com 151.101.108.133 avatars4.githubusercontent.com 151.101.108.133 avatars5.githubusercontent.com 151.101.108.133 avatars6.githubusercontent.com 151.101.108.133 avatars7.githubusercontent.com 151.101.108.133 avatars8.githubusercontent.com 如图 如果无法编辑,鼠标右键打开文件属性将“只读”取消勾选并应用保存 Win+R打开运行框,输入cmd打开命令窗口,输入<mark style="box-sizing: border-box; background: rgb(252, 248, 227); color: rgb(0, 0, 0); padding: 0.2em; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; white-space: normal; outline: 0px !important;">ipconfig/flushdns命令会提示以下信息 然后就可以愉快的访问Github了!...

    2023-08-11 165
  • 如何使用DCVC2实现C2控制命令和数据的隐蔽传输

    关于DCVC2 DCVC2是一款功能强大的数据传输工具,该工具可以通过语音信道并使用RTP分组来传输所有数据,而且整个过程不会在文字聊天中留下操作痕迹。 该工具能够与多种常见的操作系统兼容,并且能够利用Discord的语音通道发送数据以实现命令和控制操作。该工具基于DiscordGo实现其功能,且完全通过实时协议(RTP)运行,是一款基于命令行运行的工具,这也就意味着所有的操作都需要通过Windows/Linux/OSX上的终端来执行。 工具要求 1、一个Discord账号; 2、一台Discord服务器; 3、支持在设置中将语音聊天速度提高到96kbps; 4、两个Discord bot(需要给bot提供管理员权限:【文档】); 工具下载 由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好Go语言环境。 接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/3NailsInfoSec/DCVC2.git 然后切换到项目目录中,使用go build命令完成服务器端和代理端代码编译: cd DCVC2 go mod download   go build server.go   go build agent.go 工具使用 运行完DCVC2的服务器端和代理端之后,你将会看到两端都加入了指定的语音聊天频道: Shell命令执行: cmd> whoami         desktop-3kjj3kj\sm00v 除了基本的Shell用法之外,DCVC2还添加了两个硬编码的附加项: cmd> screenshot     screenshotting..............................................       &       cmd> download   download file path>C:\Users\sm00v\Downloads\34954477.jpg   ............................................................ 项目地址 DCVC2:【GitHub传送门】 参考资料 https://stealthbits.com/stealthaudit-for-active-directory-product/(https://github.com/bwmarrin/discordgo) https://www.3nailsinfosec.com/post/using-discord-s-voice-channel-for-c2-operations https://discordpy.readthedocs.io/en/stable/discord.html https://twitter.com/sm00v https://github.com/sm00v  ...

    2023-08-11 192
  • 如何在Linux Mint中安装KDE Plasma桌面环境

    Linux Mint是最流行的和用户友好的 Linux 发行版,以其易用性和稳定性而闻名。 虽然 Linux Mint 中默认的 Cinnamon 桌面环境提供了友好愉快的体验,但也有一些用户可能想要探索其它的桌面环境,以进一步定制自己的 Linux 体验。 KDE Plasma 是另一个著名的桌面环境,提供了一种现代化的特色功能丰富的界面。 然而,Linux Mint 从未正式提供过 KDE Plasma 。 但是这里有一种在 Linux Mint 基础之上安装 KDE Plasma 桌面环境的方法。让我们一起尝试一下。 注意: 不要在你的有重要数据的稳定系统中尝试这些步骤。有风险。 在 Linux Mint 中安装 KDE Plasma 桌面环境 在 Linux Mint 发行版中,有三种主要组件来安装 KDE Plasma 桌面环境。它们是 kde-full、kde-standard和kde-plasma-desktop。 kde-full软件包集包含完整的 KDE Plasma 桌面环境。kde-standard 是最小的版本,kde-plasma-desktop 仅是桌面环境。 如果你将要尝试安装 KDE Plasma 桌面环境,我将建议安装 kde-full 软件包。 首先,打开一个终端,确保你的 Linux Mint 版本是已更新的。确保你执行了一次重新启动。 sudo apt update && sudo apt upgrade -y reboot 其次,在终端中,运行下面的命令来安装完整的 KDE 软件包。由于 Linux Mint 是基于 Ubuntu LTS 版本的,所以,你应该会获取基于当前正在持续更新的 Kubuntu LTS Plasma 版本的 KDE Plasma 版本。 sudo apt install kde-full 完整的下载体积有点大。针对当前的 Linux Mint 版本,它大约是 1.5 GB ,整个安装过程可能需要 20 分钟。 在安装过程中,你需要选择显示管理器,因为 KDE Plasma 使用 SDDM 。出现提示时,在下面的屏幕中选择 SDDM 。 在安装完成后,你需要在 SDDM 配置文件中修改其中一个备选项以阻止在登录过程中弹出一个空的联机键盘。为此,使用 nano 或任意一个编辑器来打开下面的文件。 sudo nano /etc/sddm.conf 接下来,添加下面的行。保存并退出。 [General]InputMethod= 最后,重新启动系统。 reboot 在登录期间,你应该会看到 SDDM 登录窗口,而不是 Linux Mint 的原来的登录提示窗口。在窗口顶部,选择 “Plasma” 会话并登录。 移除 Cinnamon 、Xfce 或 MATE 在 KDE Plasma 安装后,你可以移除 Cinnamon 、Xfce 或 MATE 桌面环境组件。如果你看到你的 KDE Plasma 工作的很好,那么移除是安全的。使用下面的命令来移除它们,最后使用命令 reboot来重新启动。 sudo apt purge cinnamon sudo apt purge mate-desktop sudo apt purge xfce4-session xfwm4 xfdesktop4 xfconf xfce4-utils exo-utils xfce4-panel xfce4-terminal thunar 几点注意事项 你可能会发现:相比于 Cinnamon 桌面环境,KDE Plasma 的运行性能有一点慢,这是很明显的。 Linux Mint 的壁纸、主题、图标和光标文件可能会保留在系统中。如果你想的话,你可以移除它们。 Mint Plymouth 动画应该也会保留,你可以手动移除它。 如果你在一个虚拟机中的系统中使用上述步骤,在从待机状态唤醒时,SDDM 可能会崩溃。 总结 热烈庆贺!你已经在你的 Linux Mint 系统上成功的安装 Plasma 桌面环境。通过执行这些步骤,你现在可以访问一个功能丰富的、视觉震撼的、可高度自定义的桌面环境。请谨慎使用! ...

    2023-08-10 196
  • GPT调教过程(以小红书笔记为例)

    分享一下我调教GPT写小红书文案的过程,话不多说,请往下看...... 1、我告诉他身份 我想要你扮演小红书博主,我会提供一些案例资料给你学习 ,帮助你更好地成为优秀的小红书博主。 2、我提供案例,他拆解分析出模板 3、他反馈并应用 让ChatGPT反馈他的学习效果并具体写一篇笔记出来,检查学习效果。 4、我提供优化反馈,他总结 然后根据它写的笔记给它反馈优化,最好让他在总结一下优化后的小红书笔记模板。 ( 按照实际需要反馈优化) 5、我拆解教学,他学习 然后教它拆解小红书笔记,为后面的优化做铺垫。例如: (案例可以按照你想要的优秀小红书笔记提供拆解案例) 提供多个案例,重复加深教学。 6、他反馈学习效果,并应用 让他用学到的拆解模板拆解自己原来生成的文本。 7、我,二次优化他的拆解模板 学会拆解后继续给它反馈,优化它的拆解方法中的不足。( 这里最好让它再次总结一下拆解模板 ,方便之后调用拆解模板) 例如:现在我想要你优化你的拆解方法,优化内容为:在拆解分析小红书笔记的时候加入[风格检查] , 其目的是检查小红书笔记是否符合你的笔记风格。请用你学会的优化后的拆解方法拆解你写的这篇标题为" [卡片笔记]让 学习变得更有趣!“的小红书笔记。 他,应用新的拆解模板(这个时候也可以让他先总结新的模板,随后再应用,这里我让他直接应用了) 总结: 1、调教过程第一步就是先给他定义身份 2、投喂相关资料 3、让其总结优化,告诉他要记住调教后的风格 4、持续使用化 ...

    2023-08-10 150
  • 宝塔面板网站跨域问题怎么解决?

    在将网站主题静态文件放在其他网站的时候,发现存在跨域问题,经过一番摸索得以解决;解决方案如下:1.如果使用的nginx:打开网站的设置,找到配置文件,添加如下代码 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods'  'GET, POST, OPTIONS'; 添加完之后,重启nginx 2.如果使用的是apache 代码如下:打开网站的设置,找到配置文件,添加如下代码如果网站开启了ssl,注意有两处需要修改添加完之后,重启nginx 2.如果使用的是apache 代码如下:打开网站的设置,找到配置文件,添加如下代码如果网站开启了ssl,注意有两处需要修改 添加完之后,重启apache 如果配置了发现没有生效,尝试清理浏览器缓存,如果网站有cdn,尝试清理cdn缓存...

    2023-08-10 215
  • 如何使用Python制作脚本巡检设备,并将结果输出到excel

    本脚本使用了 pexpect 库来自动化 Telnet 登录到交换机并执行命令,然后将输出保存到文件中。 如果你想要将输出存储到 Excel 文件中,你可以使用 openpyxl 库来实现。 下面是一个将你提供的脚本与 Excel 输出结合的示例: import pexpect import sys import datetime import openpyxl # 定义交换机信息和命令 switch_info = { "ip": "x.x.x.x", "passwd": "xxxx", "name": "<F5-Core-S12508>", "name1": "---- More ----" } # 创建 Excel 工作簿和工作表 workbook = openpyxl.Workbook() worksheet = workbook.active worksheet.title = "Switch Inspection" child = pexpect.spawn('telnet %s' % switch_info["ip"]) child.expect('login:') child.sendline("admin") child.expect('(?i)ssword:') child.sendline(switch_info["passwd"]) child.expect(switch_info["name"]) # 执行命令并将输出写入 Excel def execute_command(command): child.sendline(command) child.expect(switch_info["name1"]) result = child.before.decode("utf-8") return result # 执行各个命令并写入 Excel commands = [ "display power", "display version", "display environment", "display fan", "display cpu-usage", "display memory", "display interface brief", "dis logbuffer", "display ip routing-table", "display irf link", ] for command in commands: output = execute_command(command) worksheet.append([command, output]) child.sendline("quit") child.expect(pexpect.EOF) # 保存 Excel 文件 excel_filename = f"switch_inspection_{datetime.date.today().strftime('%Y%m%d')}.xlsx" workbook.save(excel_filename) print(f"Inspection results saved to {excel_filename}") 在这个示例中,我使用了 openpyxl 库来创建 Excel 工作簿和工作表,并在每次执行命令后将输出写入 Excel 表格中。 你可以根据实际需要进一步调整和优化这个脚本,确保交换机命令的执行和输出的写入都能符合你的要求。 同时,记得确保在运行脚本之前安装了所需的库: pip install pexpect openpyxl 自动化与 Telnet 进行交互时,稳定性和错误处理非常重要,因为网络环境可能会导致意外情况。 ...

    2023-08-10 184
  • 5个有效的SEO技巧,助你的网站更快获得流量!

    5个有效的SEO技巧,助你的网站更快获得流量! 1、选择合适的内容类型 在进行SEO优化时,选择合适的关键词和内容类型至关重要。关键词的选择决定了你是否能够获得流量,而内容类型则决定了你是否能够在搜索引擎中排名靠前。最好的方法是通过谷歌搜索排名前3位的内容类型来确定针对某个关键词应该使用什么样的内容类型。例如,如果关键词是“best XX”,一般对应列举式的文章;如果是产品名称,则对应产品页面或列举式文章。根据自身优势,决定专注于哪种内容类型。 2、手机体验优先 手机用户已经超过电脑用户,在SEO中手机用户体验至关重要。定期在手机上浏览网站或请朋友使用手机浏览并提出意见是很好的做法。优化手机体验可以从以下方面入手: 首页图:清晰、占据面积适中、含有行动号召按钮 字体大小:适合各类人群阅读 手机菜单:便于浏览 打开速度:毋庸赘述 手机上转化行为的难易程度 人们在手机页面上停留时间越长,对SEO排名越有利。这些优化方案不仅限于SEO,也能提升网站体验,但对SEO排名有客观影响。 3、使用目录让文章更易浏览 添加目录可以提高内容的可读性,无论是深度文章还是板块丰富的着陆页。例如,Backlinko是一个非常有名的SEO内容网站,其文章大多都带有目录。目录方便读者点击感兴趣的内容板块,提升阅读体验。WordPress可以通过插件自动为文章添加目录。 4、使用口语化的语言 使用口语化的语言也能提升页面可读性。简洁、易懂、短句子居多是口语化语言的特点。例如,Backlinko的文章用语非常简短,基本上1-2个句子就分段,完全贯彻落实了口语化特征。尽量让语言简洁易懂能够在快速浏览中了解文章大意,更符合SEO要求。 5、内部链接 内部链接是一个帮助网站更快排名的方法。添加内部链接可以让谷歌更清楚你的网站结构和内容之间的联系,并帮助读者停留更久时间。每当创建一个页面时,将其链接到核心页面,并与相关页面建立链接关系。罗马不是一天建成的,SEO也不是一蹴而就的。但这些小技巧能够在日常SEO中提供优化帮助,每天进步一点点,积累起来就会看到更大的成效。像著名的Kaizen理论一样,通过持续进行小幅度改进,即使只有1%的改进,也可以逐渐建立动力,在长期内实现重大进展。希望大家每天都能有所进步,最终实现流量的突飞猛进。...

    2023-08-09 170
  • Centos/Ubuntu Docker安装教程,Alinux3搭建部署Docker报错

    Centos Docker安装教程,使用Alinux3搭建部署docker报错,repo 'docker-ce-stable' 下载元数据失败 今天就分享下如何解决? (全新安装请忽略)要是之前安装过,可以进行卸载然后再安装,旧版本的 Docker 的名称为docker、docker.io或 docker-engine。安装新版本之前卸载任何此类旧版本。 #Ubuntu sudo apt-get remove docker docker-engine docker.io containerd runc 一、Centos安装 1、添加稳定的Docker软件源 dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2、查看已添加的Docker软件源 dnf list docker-ce 如果出现报错:repo 'docker-ce-stable' 下载元数据失败,是因为 Alinux3 会默认把 centos 版本使用3,所以修改为8即可,执行以下命令: vim /etc/yum.repos.d/docker-ce.repo 将所有 $releasever 字段全部改为 8 即可,再次执行: dnf list docker-ce 3、部署安装docker引擎 (1)安装最新版本 sudo yum install docker-ce docker-ce-cli containerd.io (2)安装指定版本 获取指定版本列表: yum list docker-ce --showduplicates | sort -r 安装指定版本: sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io 如果提示您接受GPG密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,则接受它 4、启动docker sudo systemctl start docker 如果报错: Job for docker.service failed because the control process exited with error code.See "systemctl status docker.service" and "journalctl -xe" for details. 执行以下命令即可解决: yum install device-mapper-devel 5、校验docker是否启动成功 sudo docker run hello-world 6、配置开机自启 sudo systemctl start docker #启动 sudo systemctl enable docker #配置开机自启 docker安装结束...... 7、把镜像库改为阿里的镜像库 (1)创建daemon.json sudo vim /etc/docker/daemon.json (2)添加以下内容 { "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"] } (3)重启Docker systemctl daemon-reload systemctl restart docker 二、Ubuntu安装 1、更新包管理器 sudo apt update 2、安装 Docker 的依赖包 sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release 3、添加 Docker GPG 密钥 #官方 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg #阿里云 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 4、添加 Docker apt 仓库 #官方Docker镜像源 echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null #阿里云Docker镜像源 echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 5、更新 apt 缓存 sudo apt update 6、安装 Docker sudo apt install docker-ce docker-ce-cli containerd.io 7、启动 Docker 服务 sudo systemctl start docker 8、确认 Docker 已经正确安装 sudo docker run hello-world 如果 Docker 正确安装,会显示一些信息并打印一条消息说 “Hello from Docker!”。  ...

    2023-08-09 144
  • 腾讯云快速完成网站备案的详细教程

    对于企业或个人而言,备案是上线自己的网站的必要步骤之一,如果网站不备案那么不能使用国内的云服务器,包括很多都会收到影响,正因为很多人不需要备案,不懂备案,把备案步骤弄得相当繁琐,今天就详细的记录下自己备案的过程,跟着步骤去做,备案不成功你来咬我。好了,不废话,直接开始: 准备工作 准备顶级域名: 记住必须是可备案的域名。不是所有域名都能备案,具体信息可查看 工业和信息化部域名行业管理信息公示。 云服务资源: 备案前需准备符合条件的云服务器、轻量应用服务器、购买 Serverless 服务资源包、使用负载均衡实例或生成备案授权码。详情可查看 备案云服务。 各省管局要求: 各省管局要求中包含个人和单位备案的注意事项以及变更要求,详情可查看 各省管局要求。 备案限制说明: 备案前请详细查看相应的限制条件,例如备案地域等。详情可查看 备案限制说明。 前置审批文件: 根据规定,拟从事新闻、出版、药品和医疗器械、文化、广播电影电视节目、网络游戏等互联网信息服务,需要进行前置审批,才能通过备案。可查看 前置审批相关。 备案材料: 备案材料准备以及示例,可查看 备案材料。 进入备案管理 首先,打开腾讯云官方网站并登录账户,进入控制台,点击控制台首页左侧菜单栏的“域名与网站”选项,找到“备案管理”并点击进入。 首次备案如图所示,找到免费快捷备案服务,点击文本框,如果有域名则直接显示,没有的话可以属于你想备案的域名,如图: 点击新增备案后,会弹出对话框,选择自助备案,如果真的嫌费事就选择委托吧,我们今天选择自助备案,点击开始备案: 接下来选择域名备案的省份,一般就是身份证所在的省份,然后在选择备案类型,我们备案是个人,所以选择个人备案,如图: 完善主体信息 开启备案后,先完成主体备案信息,按照提示操作,接下来选择备案所需的“云资源”,这里我们可以选择云服务器或者轻量云服务器,购买云资源之后,选择对应的云资源,如图我们用的是轻量应用服务器,如图: 接下来填写网站信息,包括网站名称、网站首页网址、IP地址、接入方式等。如果您的网站有多个页面,可以在“网站域名”处添加其他域名。   备注信息,一般可以写“本站一个分享互联网技术、经验和见解的网站,旨在为广大互联网从业者、IT学生和技术爱好者提供较为实用、有趣的技术分享”就行了,这个也会审核,接下来就是上传证件材料,如负责人的身份证、网站负责人的身份证及视频人脸验证等,根据提示上传证件材料并填写相应信息。 提交备案审核 最后就是提交备案申请,确认无误后,点击“提交备案申请”,等待工作人员审核通过。一般腾讯备案审核员会员3-6小时联系你,跟你核对信息及告知有哪里不符合规定,修改之后重新提交即可完成,备案审核期间备案的域名不能解析也不能建站否则有驳回的风险,当然地区不一样政策就不一样,有些省份在审核期间可以开站,这个按照实际情操作即可,如果想在备案期间装修网站那么就准备一个二级域名,不影响备案的。 审核通过 备案信息将会在备案系统中显示,备案通过后,通信管理局将下发网站备案号到主体负责人的手机和邮箱,请注意查收。也请您按照管局要求将网站备案号展示在网站首页底部,并链接到工信部首页(https://beian.miit.gov.cn),进入备案系统。 备案成功后,您还可以: 1、 增加新网站,登录腾讯云备案系统,在已成功备案信息下增加新的网站。 2、 单位/个人信息或网站发生了变化,及时登录腾讯云备案系统,提交变更备案信息。  3、 网站开通之日起30日内到公司实际经营地或个人常住地公安机关履行公安备案手续。 总之,在备案申请过程中,需要提前准备好所需的证件材料和相关信息,以确保流程顺利。此外,不同省份和地区的要求可能会略有不同,因此需要仔细阅读备案规则并遵守相关法规。腾讯云备案服务提供了页面指引、在线客服咨询、电话客服等多种方式,以便用户顺利完成备案。  ...

    2023-08-09 223
  • 王者荣耀上分逆袭的一堂必修课

    课程介绍 这是一门针对王者荣耀玩家的上分逆袭必修课程。通过深入解析游戏机制、英雄技能和战术策略,帮助玩家提升操作水平、优化游戏思维。课程内容包括排位赛攻防技巧、团队配合训练等,致力于帮助玩家在游戏中取得更高的胜率和段位提升。 ...

    2023-08-09 149
  • 教大家10秒开启地震预警,保护好自己和家人!

    为了防患于未然,仅需十秒钟,教大家如何打开地震预警功能! 包含各种手机型号的打开方式: (1)华为:设置→安全→应急预警通知→地震预警。 (2)小米:手机管家→家人关怀→地震预警。 (3)荣耀:设置→安全→应急预警通知→地震预警。 (4)OPPO/一加/真我:设定→安全→SOS紧急联络→自然灾害警报→地震警报 (5)vivo/iQoo:天气App→设置→地震预警→启用地震预警服务。 (6)苹果/三星/其它手机:搜索“地震预警”关键词,自行下载相关App。 一定要开哦!还要帮父母家人把这个功能打开! 麻烦大家转发扩散给更多的人! 最后,希望各位网友安全平安,家庭和睦健健康康,快快乐乐的! ...

    2023-08-09 188
  • 最新域名解除拦截教程

    最新域名解除拦截教程 1.通过微信反诈实验室进行申诉 2.通过腾讯安全网址那里检测申诉 3.qq 直接申诉 源码需要腾讯认可的源码   比如wordpress. 这个哪里下载我就不用说了吧 域名一般不被腾讯拉黑 就直接成功 ...

    2023-07-25 190
  • 记录一次挖掘学校小程序的漏洞

    0x00 前言 从第一次漏洞找到之后很久没有找到新的,于是便将目光转移到小程序上。文章漏洞已提交src平台并且已经修复,这里记录是为了让各位师傅点评。.  小程序漏洞挖掘 在我看来小程序的漏洞与web漏洞很相似,所以完全可以把web漏洞挖掘的思路用在小程序上,同时小程序上对于防护做的比较差,所以便有了今天的文章。   0x01 配置微信抓包代理 这里我使用的抓包工具为burpsuite.  1.burpsuite配置 在代理的位置设置代理 配置代理ip与端口(端口只要没有被占用都可以) 2.电脑端配置 找到下图的代理 使用代理服务器 代理IP和端口改为和burp suite一致即可,将使用代理服务器给打开 代理服务器内的内容在下方   localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.* 注:这里配置的代理将会抓取电脑上全部的数据包,包括浏览器和别的数据包   </p> 0x02 漏洞复现过程 目标小程序,这里使用获取到的学号(学号可以使用谷歌语法进行获取),输入任意密码,输入正确的验证码,同时将代理工具打开进行抓包 抓取这个登录数据包,查看它的响应   通过多次抓包测试确定:resultCode是判断是否可以登录的依据,0003是用户不存在,0004是账号密码错误,0000是登录成功。   这里将返回包的内容0004修改为0000 将修改完成后的数据包放出,成功绕过登录页面,同时经过查找发下多个学校在使用该系统,目前均以修复。. 0x03 总结 还是一个简单的逻辑漏洞,对于刚接触网络安全的我来说逻辑漏洞是最容易的漏洞,同时也可以给我很大的信心以及学下去的动力。希望各位师傅可以点评,同时如果可以的话希望有师傅可以私信带带萌新,谢谢。....

    2023-07-23 201

联系我们

在线咨询:点击这里给我发消息

QQ交流群:KirinBlog

工作日:8:00-23:00,节假日休息

扫码关注