半眼阴阳

道可道也,非恒道也。名可名也,非恒名也。

记一次拿钓鱼网站后台的过程

早上醒来,发现同学晚上给我来了个QQ电话,同时自己还被对方删除好友了,这一反常的现象,我立马察觉不对。再看了看QQ空间,发现同学发动态说自己号被盗了,于是我重新加了同学的好友,确认了对方身份后,我问了问同学被盗的号的过程,同学发来了一个腾讯文档,题目是《2022年教务管理系统学生学籍电子档案核对信息通知》,打开腾讯文档里面是一个二维码。我这一看,这不就是一个骗信息的嘛,最近老看到这种消息,没想到自己身边的同学也中了招。我顿时有点不服,这拙劣的诈骗手段居然把我同学骗了,于是想拿下后台帮同学把盗取的信息删除。 我首先用二维码网站识别工具,识别出了其中的网站,用浏览器打开,发现这就是个活脱脱的钓鱼网站 这个你随便输入什么都可以登录,登录了就是叫你填身份证、电话等信息 这种钓鱼网站,前两天看到有师傅发过相关的文章 渗透的思路: 先找到网站的IP,这种网站一般都不会有CDN,所以一个超级ping直接找到IP 根据域名查一下whois信息,查出来一个QQ号,不知道是不是真的,QQ号的等级不高也不低 做网站路径扫描,找管理后台,结果没扫出来 根据网站的功能点找思路,这个网站只有一个登录框、输入表单,功能点很少,此时后台也找不到,所以尝试XSS盲打,觉得用XSS盲打就算最后盗不了Cookie,起码也能找个管理后台地址,再尝试SQL注入登录后台也可以呀。 随便在网上找了一个XSS平台开搞,把XSS payload插入到登录框、输入表单当中,反正就是见框就插,最后终于在两天后发现XSS平台获取到了相关信息。 幸运的是,不仅有后台管理地址,还有cookie,直接使用cookie登录后台 登录后,找了好多被盗取的QQ号和密码、身份证等敏感信息 进入后台后,有尝试进行getshell,但是这个后台功能点太少,而且对php文件做了限制,最终没能getshell(菜是原罪)。 本想帮我同学把盗取的信息删除的,但是我这时在后台找不到了,我想骗子可能把信息进行转存了,也许拿了shell应该能有收获吧! 这次对钓鱼网站拿后台的过程,并没有什么技术含量,就是一个烂大街的XSS盲打。
2022-05-08

Linux中使用Qv2ray

前言 最近有在Linux上使用机场工具的需求,但在网上找了一圈发现Linux上可用的机场工具相当少,大部分的机场工具都是在windows和mac平台上使用的,最后还是找到了一个Linux上可用的机场工具——Qv2ray。但是这个工具在2021.8.17已经停止维护了,但以前的版本还是可用的,有总比没有好,凑合着用吧。 下载Qv2ray客户端文件 下载地址: https://github.com/Qv2ray/Qv2ray/releases 我下载的版本是2.7.0,是Qv2ray目前的最终版本 下载v2ray核心文件 上面下载的Qv2ray只是一个“空壳”,如果要实现核心功能,还要下载v2ray核心文件 下载地址: https://github.com/v2fly/v2ray-core/releases 我这里下载的是4.44.0版本 将下载的Qv2ray和v2ray拖入要安装的机器里 我使用的是kali2021.4 赋予Qv2ray执行权限 sudo chmod +x ./Qv2ray-v2.7.0-linux-x64.AppImage 打开Qv2ray客户端 sudo ./Qv2ray-v2.7.0-linux-x64.AppImage 配置Qv2ray 解压v2ray压缩包,解压到当前文件目录中的v2ray-linux目录 sudo unzip -d ./v2ray-linux ./v2ray-linux-64.zip 将Qv2ray调整为中文 配置v2ray核心执行文件和资源目录 导入订阅更新节点 把自己的订阅导入到Qv2ray 连接一个节点(这里感谢工具大师提供的订阅节点) 设置代理 设置入站规则 到浏览器设置代理 访问youtube试试 大功告成!!! 参考文档 https://www.zsxcool.com/7137.html https://qv2ray.net/lang/zh/getting-started/step4.html#%E4%BD%BF%E7%94%A8%E7%B3%BB%E7%BB%9F%E4%BB%A3%E7%90%86 https://sites.google.com/view/honven/%E9%A6%96%E9%A1%B5/qv2ray%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B%E7%AE%80%E5%8D%95%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B
2022-02-07

VirtualBox导入vulnhub靶机各种报错

VirtualBox没有安装扩展包报错 出现问题的原因 VirtualBox没有安装扩展包 解决方法 到官方(https://www.virtualbox.org/)下载对应版本的扩展安装包 导入靶机点击正常启动报错 出现问题的原因 没有找到原因,从给出的问题描述中是说在启动的过程中发生了意想不到的错误,搞不懂哪里有问题… 解决方法 虽然不能点击正常启动,但是我们可以尝试点击其他两种启动模式啊(无界面启动,分离式启动)。 我用的无界面启动,当虚拟机启动起来时,再点击显示,就可以正常使用了。 启动时报错’COM error' 出现问题的原因 在网上寻找了很久,还是没有找到出现这个问题的原因,各种尝试还是不能解决,希望知道这个问题的大佬能告诉我这个菜鸡! 解决办法 经过各种尝试,终于发现出现这个问题好像和虚拟机的网络设置有关,最后发现将虚拟机的网络改为NAT或NAT网络可以正常启动虚拟机。 经过测试发现,将网络设置为NAT,虚拟机只能和物理机通讯,将网络设置为NAT网络是可以让虚拟机之间相互通讯。当使用NAT网络时需要在全局设定中为NAT网络分配网段。 最后在VirtualBox中的虚拟机之间终于可以相互通讯了,本来是打算只让VirtualBox里单纯的跑靶机,在vmware中使用虚拟机对靶机进行攻击,没想到VirtualBox中导入靶机报出这么多问题。 参考文档 https://blog.csdn.net/super828/article/details/117151159 https://blog.csdn.net/wy_bk/article/details/78926646
2022-02-06

2021结尾随想

现在是2021年12月31日晚上八点,恍惚间已经来到了2021年的最后一天。本来是打算写一个2021年度总结的,但起笔时却回想不起一件让我感到兴奋的事,也不知道有什么可以总结的,所以干脆写一个结尾随想吧! 先说说自己的学习吧,毕竟现在还是个学生,学习才是第一要务。在2021这一年的日子里,我一直不断地学习各种计算机知识,但又好像什么也没学,自己也常常反思,我大概总结了三点原因:第一,计算机实在是太有意思了,有趣的东西实在是太多了,我总是还没等到学完上一个东西时,就跑去学另外一个东西了,这就导致了我对一个新东西没有一个完整的学习,只算是停留在初步的认识。第二,太浮躁了,沉不住气,总想用最短的时间做出最惊人的作品,既想高效率,又想高质量,可是一件好作品急是急不出来的,是需要时间打磨的。第三,对于一件持久的事情没有一个明确的循序渐进的规划,总是在Deadline前做百米冲刺,而不是一点一点的均衡到每天。 再来谈谈自己的生活吧,在过去的一年中感觉自己做得最多的两件事就是练习拳击,学习计算机,生活中也没什么特别的事情发生,就是平平谈谈的日子,偶尔和同学聚聚餐,大多数时间都是自己一个人待着。晃眼之间,大学已经快要结束了,此时回想一下过去的大学生活,感觉自己的大学生活是如此的平淡,没有谈恋爱,没有像其他人一样来一场说走就走的旅行,曾几何时感觉自己读了一个假大学。 上面主要谈论的是自己在2021年出现的问题,出现问题不可怕,可怕的是自己不采取任何措施去解决问题,所以积极面对才是王道。在新的2022年,第一,刻意练习,注重每日总结和反思,“不能只低头拉车,还要抬头看路”,第二,聚焦学习的关注点,将大部分学习的时间用在自己将来想从事的行业上,首先保证深度,再追求宽度。第三,坚持与自律,努力去战胜自己的惰性,这个惰性不只是指行为上,而且指思想上,比如以前面对稍微复杂、需要耐心分析的问题时,自己总是首先找现成的解决方案,所以要积极改进自己的思维方式,克服自己思想上的“懒虫”。 虽然现实是尴尬且奇怪的,但我心中还是存在一个乌托邦,希望自己和身边的人在2022年都健健康康、顺顺利利,同时也很期待她的出现,哈哈哈!
2021-12-31

CDN绕过

什么是CDN CDN(content Delivery Network或Content Distribution network)即内容分发网络,为了加快网站的访问速度而设置的网站内容缓存节点。开启了CDN的网站可以让用户从离他们最近的缓存节点来访问网站内容,从而提高了网站的访问速度。 没有CDN的网站访问过程: 用户访问网站域名–>DNS服务器解析域名为IP–>访问目标主机 开启CDN的网站访问过程: 用户访问网站域名–>CDN节点–>真实服务器IP–>访问目标主机 对CDN的配置 加速域名:需要加速的域名,可以是部分域名,也可以是全部域名 加速区域:需要加速的地区,可以是国内,也可以是全球 加速资源:需要加速的网站资源类型,如图片、文件、视频…… CDN的检测 nslookup工具 windows自带,打开cmd,输入nslookup xxx.com 如上图,出现多个IP,多半是开启了CDN 多地ping 多地ping就是从各个不同的地区去ping目标主机,若ping出来的结果不一致则多半开启CDN,若ping出的主机IP都一样,则没有开启CDN。 在线ping网站: https://www.17ce.com/ https://ping.aizhan.com/ http://ping.chinaz.com/ 在线工具查询 可以根据一些网站来直接判断目标是否存在CDN https://www.ipip.net/ip.html https://www.cdnplanet.com/tools/cdnfinder/ 绕过CDN查询真实IP 1.从子域名找真实IP 因为开始CDN是有费用的,所以企业为了解决成本开销,一般会给主域名开启CDN加速,而对于子域名不会开启CDN,那么我们就可以查找网站的子域名,然后ping子域名,从而找出真实的IP。 查找子域名的方法有很多,可以使用工具,也可以使用在线网站查询,Google hack等。 网站:https://dnsdb.io/zh-cn/ 2.网站漏洞 如果网站存在漏洞,那么很有可能将敏感文件信息泄露,例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、网站源代码泄露、svn信息泄露信、github信息泄露等,这样我们就可以借助网站漏洞来找到真实IP。 如果网站存在ssrf、命令执行等漏洞,那么我们就可以利用漏洞来让目标主机主机连接我们,这样我们就可以拿到目标的真实IP。这个过程就像反弹shell过程中的正向连接、反向连接一样。 3.历史DNS记录 我们可以查询域名与IP的历史绑定记录,就算开启了CDN,但域名以前总有与真实IP绑定的时候,只要域名与真实IP进行过绑定,那我们就很可能从历史DNS记录中找到目标的真实IP。 查询DNS记录的网站: https://dnsdb.io/zh-cn/ https://x.threatbook.cn/ http://toolbar.netcraft.com/site_report?url= http://viewdns.info/ http://www.17ce.com/ https://community.riskiq.com/ http://www.crimeflare.com/cfssl.html 4.从CDN厂商入手 可以从CDN本身入手,我们可以通过一些社会工程学技巧直接拿到该网站CDN控制面板的密码,这样直接登录CDN控制面板就可以看到网站的真实IP,这个方法如果成功实现了当然对找真实IP肯定是很稳的,但是一般情况下我们很难能拿到CDN登录面板的密码(当然是对于我这种菜鸡来说很难,大佬忽略)。 5.MX记录或邮件 现在的大多数网站都有邮箱发送的功能,无论你是在网站上注册,还是通过绑定的邮箱来找回密码,网站都活给你发送一个邮件到你指定的邮箱中,而邮箱系统多半是在网站内部,没有经过CDN加速,我们就可以利用这一点来获取网站的真实IP。如我们可以在网站上找回密码,然后网站给我们发送一个邮件,我们再查看邮件的源码,邮件源码中就可能包含真实的IP。 6.国外请求 这个还是利用了CDN的配置,我们从CDN的配置中知道,配置CDN时需要选择加速的区域,但是网站的加速区域不可能覆盖全球的每个区域,一般对于国内网站都是针对国内区域进行加速,正是因为有这样一个特点,我们可以使用一些"冷门"国家的网络代理来请求目标网站,这样我们就可以通过国外的DNS解析来取得目标的真是IP。 在线网站: https://tools.ipip.net/cdn.php https://get-site-ip.com/ 7.全网扫描 这种方法就比较硬核了,直接使用工具扫描全网找出可能的真实IP,但为了提高效率可以结合信息收集,看网站的备案信息,网站的服务器所在地区等从而缩小查找的IP范围。 工具:https://github.com/Tai7sy/fuckcdn 8.网络空间引擎搜索法 使用zoomeye、fofa、shodan等暗黑搜索引擎来获得目标网站的历史快照信息,可以使用一些特征来搜索,这些特征有: 特有的http头部(如server类型、版本、cookie等信息) 特定keyword(如title、css、js、url等) 特定的IP段搜索(如fofa支持C段搜索) 9.待续 后续操作 我们要明白绕过CDN获取目标真实IP的目的是什么。当我们的目标网站开启CDN时,我们费尽心思得到目标的真实IP后是为了我们后续的操作,只有得到了目标的真实IP后我们之后对目标进行的操作才是有效的。如果没有找到目标真实IP,我们的操作只是针对缓冲节点。
2021-12-17

指针学习小结

前言 C语言中,指针这一概念一直都是一个重点和难点。学校里教授的指针相关的知识,对于我来说学完基本等于啥也没学,甚至有时面对一些复杂的指针问题,还让我觉得无从下手,对于指针的知识总是感到云里雾里。近期打算把前期没学习完的逆向课程重新拾起,刚好这里涉及到指针的有关知识,感觉了解了指针的本质后,觉得指针也没有那么难,打算在此记录一下有关的知识。最后说一下,滴水海哥的课程真的是深入浅出,对于知识的讲解真的是讲到了本质。 指针的声明、赋值、宽度 忘记以前对指针这一概念的定义,现在开始从新认识指针。指针就是带*的数据类型,每一种数据类型都有自己的宽度,所以指针作为一种数据类型,也有它自己数据宽度。 指针的声明 char* a; short* b; int* c; char** d; short** e; int** f; 指针的赋值 a = (char*)100; b = (short*)100; c = (int*)100; d = (char**)200; e = (short**)200; f = (int**)200; 利用VC6编写实际代码探索指针的宽度 C代码 char* a; short* b; int* c; char** d; short** e; int** f; a = (char*)100; b = (short*)100; c = (int*)100; d = (char**)200; e = (short**)200; f = (int**)200; printf("%d %d %d %d %d %d", a, b, c, d, e, f); 汇编结果
2021-12-14

nginx反向代理后图片不能正常显示的问题

问题描述 自己在搭建halo博客的时候,当做到使用nginx做反向代理这一步时,按照官方文档中“与 OneinStack 配合使用”做方向代理的方法,我根据文档的步骤一步一步做下来,一切都感觉良好,博客的确成功使用nginx做了反向代理,但是当我打开管理后台的时候,发现主题的图片、自己上传到本地服务器的图片都不能正常显示出来,然后就开始疯狂google,结果网上的回答比较零碎,但发现应该就是nginx配置文件的问题,最后更改了配置文件的内容,成功解决问题。 解决过程 原来的nginx.conf文件配置内容: upstream halo { server 127.0.0.1:8090; } server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; ssl_certificate /usr/local/nginx/conf/ssl/domainName.com.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/domainName.com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_buffer_size 1400; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; server_name domainName.com www.domainName.com; access_log /data/wwwlogs/domainName.com_nginx.log combined; index index.html index.htm index.php; root /data/wwwroot/domainName.com; if ($ssl_protocol = "") { return 301 https://$host$request_uri; } if ($host !
2021-11-30

搭建halo博客

前言 博客搬家啦!!!★,°:.☆( ̄▽ ̄)/$:.°★ 。经过两天的折腾终于把新博客搭建好了,新博客使用halo博客系统,同时在服务器上使用Docker进行部署,再使用nginx做反向代理。最开始是在Debian系统上搭建的,但后来因为一些原因又将服务器系统换成了CentOS,本着日常记坑的优良做事原则,肯定得把搭建过程中遇到的坑点给记录一下,方便自己日后回顾,同时也希望能给正在搭建halo博客的朋友们一点参考。 Debian系统上搭建 安装Docker 参考文档: https://docs.docker.com/engine/install/debian/#upgrade-docker-engine # 卸载旧版本docker sudo apt-get remove docker docker-engine docker.io containerd runc # 设置仓库 sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装docker sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io # 安装完成后,查看docker版本 docker version 拉取halo的镜像 参考文档: https://docs.
2021-11-29

Docker网络

理解Docker0 清空所有环境 测试 # docker是如何处理网络访问的 # 开启一个tomcat容器 docker run -d -P --name tomcat01 tomcat # 进入容器,查看ip docker exec -it tomcat01 /bin/bash cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 0cfed1b320cb # 在主机上pingtomcat01 ping 172.17.0.2 PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data. 64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.329 ms 64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.046 ms 64 bytes from 172.17.0.2: icmp_seq=3 ttl=64 time=0.
2021-09-12

DockerFile

DockerFile介绍 dockerfile是用来构建docker镜像的文件!命令参数脚本! 构建步骤: 编写一个dockerfile文件 docker build 构建成为一个镜像 docker run 运行镜像 docker push 发布镜像(DockerHub、阿里云镜像仓库!) 查看一下官方的做法: 很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像 官方既然能制作镜像,那我们也可以。 DockerFile的构建过程 基础知识: 每个保留关键字(指令)都是必须是大写字母 执行从上到下顺序执行 #表示注释 每一个指令都会创建提交一个新的镜像层,并提交! dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件,这个文件十分简单 Docker镜像逐渐成为企业交付的标准,必须要掌握 DockerFile:构建文件,定义了一切的步骤,类比于源代码 DockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品 Docker容器:容器就是镜像运行起来提供服务的 DockerFile的指令 以前我们是使用别人的镜像,现在我们了解了这些指令后,我们可以试着写一个自己的镜像。 FROM # 基础镜像,一切从这里开始构建 MAINTAINER # 镜像是谁写的,姓名+邮箱 RUN # 镜像构建的时候需要运行的命令 ADD # 步骤:tomcat镜像,这个tomcat压缩包!添加内容 WORKDIR # 镜像的工作目录 VOLUME # 挂载的目录 EXPOSE # 保留端口配置 CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代 ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令 ONBUILD # 当构建一个被继承DockerFile这个时候就会运行ONBUILD的指令,触发指令 COPY # 类似ADD,将我们的文件拷贝到镜像中 ENV # 构建的时候设置环境变量 实战测试 DockerHub中99%的镜像都是从这个基础镜像(scratch)开始的,然后配置需要的软件和环境来进行构建 创建自己的centos # 1.编写Dockerfile的文件 FROM centos MAINTAINER Tomtree<123456@qq.
2021-09-10