IDEA 使用
IDEA 使用 引用 项目打包 Jar https://blog.csdn.net/qq_37105358/article/details/79467401
IDEA 使用 引用 项目打包 Jar https://blog.csdn.net/qq_37105358/article/details/79467401
这个是一个临时记录好奇的东西的,有时间有可能会去研究具体的原由,也可能后一直无视 随机.套图.网址在网址栏解析出 https://xn--nqvo76h.xn--wcs97c.xn--ses554g/,无视网站的内容就说它的转换. 图数据库 如果您想使用 MySQL,请确保不要使用 5.6.4 之前的版本,这是一个众所周知的时间戳问题 (抱歉,在此之前,我并不知道,但是确实有发现导入数据库有问题)来源 gdm3(3.36.3) 修改配置文件可隐藏登陆列表的指定用户: 修改 /var/lib/AccountsService/users/<username>, 在 [User] 下添加 SystemAccount=true 来源
简介 Dockerfile 是构建 Docker 镜像的文件,可以自定义更适合应用场景的环境. 指令 FROM 声明自定义镜像的基础镜像;后面的命令都是基于基础镜像环境使用的. RUN Docker build 运行时的运行指令;执行基于环境的命令. COPY 复制指令;默认复制当前上下文的文件/目录. WORKDIR 声明工作目录;声明镜像中的工作目录. EXPOSE 声明容器需要使用的端口. CMD Docker run 运行时的运行指令,里面的参数为变量. ENTRYPOINT Docker run 运行时的运行指令,里面的参数为定量. 小技巧 CMD 中执行的命令中包含了星号等通配符,可以通过 /bin/sh 来执行命令 CMD ["/bin/sh", "-c", "java", "-jar", "*.jar"]
recon-ng 关于 recon-ng 的教程在网络上都是 v4 的版本,它们都是过时的! 为此浪费了很多时间.依据 <黑客秘籍–渗透测试实用指南(第2版)> 教程过程的命令进行转换.另外特别说明 v5 版本中的模板需要使用 marketplace命令下载.本博文仅将书中的命令转换为 v5.1.1 版本命令. cd /opt/recon-ng ./recon-ng workspaces create SUCK db insert domains # 使用 Bing 查询域名 modules load recon/domains-hosts/bing_domain_web run # ..... 如上 #生成 html 报告页面 modules load reporting/html options set CREATOR HP2 options set CUSTOMER HP2 run
必装 添加 apt 源 修改 apt 源vi /etc/apt/source.list 注释第五行 #deb cdrom:[Debian GNU/Linux 10.2.0 _Buster_ - Official amd64 DVD Binary-1 20191116-09:57]/ buster contrib main 在末尾添加清华源 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free apt update之后进行apt install vim ...
发现三个 Shell 命令 md5sum、sha1sum、sha256sum,发现用于文件下载辨别还是很有用处的。网络上充斥着许许多多魔改的程序,有些改动可能是善意、玩闹的,同时也包含一些改动是恶意的!我们无法保证所下载的资源没有被修改,更不敢保证他们都没有恶意。因此可以使用 md5 、 sha1、sha256 等一系列密码散列函数进行验证。 这里我们不过多的介绍 Shell 命令的具体使用方法,感兴趣的朋友可以自行搜索或者* -help。预期的效果类似与 mkdir -p /opt/demo/demo 简单的花了半个小时进行查找资料发现了有三种方式可以在执行命令的时候动态的改变参数。 在执行 Shell 脚本的后面直接添加字符,例如创建一个’demo.sh' #!/bin/bash echo $1 echo $2$3 $ chmod +x demo.sh $ ./demo.sh $ ./demo.sh 4 5 6 4 56 $ ./demo.sh 14 5 14 5 $ ./demo.sh 14 14 $ ./demo.sh 14 4 14 14 14 414 使用 getopts 命令(获知途径) #!/bin/bash while getopts ":a:b:c:" opt do case $opt in a) echo "参数a的值$OPTARG" ;; b) echo "参数b的值$OPTARG" ;; c) echo "参数c的值$OPTARG" ;; ?) echo "未知参数" exit 1;; esac done $ ./demo.sh -a 1 -b 2 -c 3 参数a的值1 参数b的值2 参数c的值3 $ ./demo.sh -a 1 参数a的值1 $ ./demo.sh -a 11 -d 2 参数a的值11 未知参数 使用read命令(获知途径) #!/bin/bash echo "请根据下面的提示输入你想要设置的值" read -p "var1= " var1 read -p "var2= " var2 read -p "你已经输入了所有的变量值,是否立即打印?y/n:" print if [ ${print}x == yx ];then echo "var1= $var1" echo "var2= $var2" elif [ ${print}x == nx ];then echo "complete" else echo unknow command fi $ ./demo.sh 请根据下面的提示输入你想要设置的值 var1= 9 var2= 8 你已经输入了所有的变量值,是否立即打印?y/n:y var1= 9 var2= 8 ps: 出于惰性并没有详细的跟进以及解剖~~. 最后的阶段性偷懒方案 ...
阅读本次缘由 从小对计算机有着浓厚的兴趣,十几岁时受到媒体报道的影响非常向往‘黑客’这个群体,认为在这个群体里的天才一定非常的多,网络解决了距离的困扰,能和他们沟通一定非常的酷。 如何知道这本书的早已记不清了,作者吴翰清的微信公众号《道哥的黑板报》。顺便推荐另一个微信公众号《懒人在思考》,就我所知这个公众号现在(1564826398)应该是余弦的团队在维护。说道余弦就让我想起了 知道创宇研发技能表。 读书笔记 本书结构(书中 <前言> 有详细介绍) 我的安全世界观 此篇中先回顾了安全的历史,然后阐述了笔者对安全的看法与态度,并提出了一些思考问题的方式以及做事的方法。理解了本篇,就能明白全本中所涉及的解决方案在抉择时的取舍。 客户端脚本安全 当网站的安全做到一定程度后,黑客可能难以再找到类似注入攻击、脚本执行等高风险的漏洞,从而可能将注意力转移到客户端脚本攻击上。 服务器端应用安全 服务端应用问题进行阐述。这些问题往往能引起非常严重的后果,在网站的安全建设之初需要有限解决这些问题,避免留下任何隐患。 互联网公司安全运营 提出大安全运营的思想。安全是一个持续的过程,最终仍然要由安全工程师来保证结果。 笔记 安全工程师的核心竞争力不在于他能拥有多少个 0day,掌握多少种安全技术,而是在于他对安全理解的深度,以及由此引申的看待安全问题的角度和高度。—– <前言.对互联网安全的思考> 互联网本来是安全的,自从有了研究安全的人之后,互联网就变得不安全了。—– <1.序言> 整个互联网笼罩在黑色产业的阴影之下,每年数十亿的经济损失和数千万的网民受害,以及黑客精神的死亡,使得我们没有理由不把此时称为黑暗时代。也许黑客精神所代表的 Open、Free、Share,真的一去不复返了!—– <1.1.1> 在早期互联网中,Web 并非互联网的主流应用,相对来说,基于 SMTP、POP3、FTP、IRC 等协议的服务器拥有着绝大多数的用户。 —– <1.1.2> 在早期互联网中。相对于那些攻击系统软件的 exploit 而言,基于 Web 的攻击,一般只能让黑客获得一个较低权限的账户,对黑客的吸引力远远不如直接攻击系统软件。 —– <1.1.2> 防火墙技术的兴起改变了互联网安全的格局。尤其是以 Cisco、**华为**等为代表的网络设备厂商,开始在网络产品中更加重视网络安全,最终改变了互联网安全的走向。防火墙、ACL 技术的兴起,使得直接暴露在互联网上的系统得到了保护。 —— <1.1.2> 2003 年的冲击波蠕虫是一个里程碑式的事件,这个针对 Windows 操作系统 RPC 服务(运行在 445 端口)的蠕虫,在很短的时间内席卷了全球,造成了数百万台机器被感染,损失难以估量。在此次事件后,网络运营商们很坚决地在骨干网络上屏蔽了 135、445 等端口的连接请求。 —– <1.1.2> 在互联网安全领域所经历的这个阶段,还有另外一个重要的分支,即桌面安全,或者叫客户端软件安全。其代表是浏览器攻击。一个经典的攻击场景是,黑客构造一个恶意网页,诱使用户使用浏览器访问该网页,利用浏览器中存在的某些漏洞,比如一个缓冲区溢出漏洞,执行 shellcode,通常情况是下载一个木马并在用户机器里执行。常见的针对桌面软件的攻击目标,还包括 Office 系列、Adobe Acrobat Reader、多媒体播放软件、压缩软件等装载量大的流行软件 Web 版本时期黑客们的主要关注点 Web 1.0: 人们更多的是关注服务器端动态脚本的安全问题,比如将一个可执行脚本(俗称 webshell)上传到服务器上,从而获得权限. Web 2.0: XSS、CSRF 等攻击已经变得更为强大。Web 攻击的思路也从服务器端转向了客户端,转向了浏览器和用户。 动态脚本语言的普及,以及 Web 技术发展初期对安全问题认知的不足导致很多“血案”的发生,同时也遗留下很多历史问题,比如 PHP 语言至今仍然只能靠较好的代码规范来保证没有文件包含漏洞,而无法从语言本身杜绝此类安全问题的发生。(该书的出版时间为:2012年3月) —– <1.1.3> ...
阅读该书的缘由 希望通过多多阅读书籍来达到丰富知识储备的目的。而我又是看书就犯困的人,因此希望通过小说来养成阅读习惯。至于为何具体选择这本书,则是因为最近同名电视剧《长安十二时辰》。第一次写读书笔记,这篇后期应该需要修缮的 书籍简介 《长安十二时辰》的作者是马伯庸,本书于 2016 年 12 月湖南文艺出版社出版,故事引用民间盛传天宝三载长安有神火降临(书中 <后记一> 有交代)的事件为故事背景,依据部分历史资料,构建了一群蒙受不公的军士们使用阙勒霍多发动恐袭的故事。 读书笔记 推荐笔记一 特别申明是读书笔记。 人物 张小敬 别称‘五尊阎罗’,旧历十三年从军,大唐第一批幕兵(第三十三折冲府第八团);十年西域兵(出身报道(仅参考)),九年不良帅(万年县)。书中这个人物对朝廷颇有不满,却在意普通百姓死活,关于历史中张小敬这个人,在 <后记一> 中有说明,这个名字始于华阴县蔚姚汝能的《安禄山事迹》。 李泌 字长源,唐朝中期著名政治家、谋臣、学者(百度百科中记录非常详细)。本书中的少年李泌稍显青涩,表现出的是一种想把事做好,在与朝堂之争的取舍选择前者的务实之人(相对片面)。 其他 在 <后记二> 有交代本书灵感源自一个知乎问题:如果你来给《刺客信条》写剧情,你会把背景设定在哪里?。 关于书中反复出现的‘靖安司’这个机构是否真实存在于唐朝?个人认为这个报道是可以信任的,该文章指明小说中的靖安司是虚构的。 <后记一> 中说明背景’尽管在民间盛传长安有神火降临,带走了许多人,可官方却讳莫如深.’,关于这个所谓的民间’盛传’目前并没有在互联网上找到相应的资料.(如有人知道对应信息,麻烦邮件告知xthcs1994@163.com)
ps: 目前阅读学习《Java 8 函数式编程》,本博文是阅读笔记,有意者可自行通过互联网进行资源获取,或者通过京东等购物网站进行正版购买; 概念 听说了很多函数式编程的 牛A、牛B、牛C 之处,说实话并不清楚函数式编程的本质是什么;百度看了百度百科也是云里雾里,引用一下书中的两处介绍 " 但其核心是:在思考问题时,使用不可变值和函数,函数对一个值进行处理,映射成另外一个值. " " 和传入一个实现某接口的对象不同,我们传入了一段代码块—一个没有名字的函数." button.addActionListener(event -> System.out.println("button clicked")); 在引用正确的前提下,在我看来重点是以下三点: 不可变值和函数 函数对一个值进行处理,映射成另外一个值 传入了一段代码块 Lambda 表达式的书写形式 空参传入 Runnable noArguments = () -> System.out.println("Hello World"); 参数传入 ActionListener oneArgument = event -> System.out.println("button clicked"); 代码块传入 Runnable multiStatement = () -> { System.out.print("Hello"); System.out.println(" World"); }; 创建函数传入 BinaryOperator<Long> add = (x, y) -> x + y; 创建函数传入, 声明参数类型 BinaryOperator<Long> add = (Long x, Long y) -> x + y; Java 8 中重要的函数接口 接口 参数 返回类型 示例 Predicate T boolean 唱片是否发行 Consumer T void 输出一个值 Function<T, R> T R 获得 Artist 对象的名字 Supplier None T 工厂方法 UnaryOperator T T 逻辑非(!) BinaryOperator (T, T) T 求两个数的乘积(*) 思考 那么是不是便于理解的认为函数式编程的本质是传入可执行代码块? 那么和匿名内部类有什么本质的区别吗? 相对于匿名内部类的优势是什么? 思考验证 那么是不是便于理解的认为函数式编程的本质是传入可执行代码块? 通过一下 Demo 我们可以发现,创建对象之后我们无法直接运行函数对象,仍然需要调用方法去引用才会执行,那么可以说明创建的对象中并没有直接执行函数方法 ...
一直以来我对this关键字的理解都是当前类,然后今天在查看一个教程的时候因为这个观念,我因为这个观念产生了不一样的观点,然后被人告知this代表的是’执行者’,对此我使用代码进行demo 测试; 直接上代码 public class SuperClass { public void test(){ System.out.println("Super"); System.out.println(this.getClass().toString()); } public void ceshi(){ System.out.println(this.getClass().toString()); } } class TestClass extends SuperClass{ @Override public void test() { System.out.println(this.getClass().toString()); super.test(); super.ceshi(); } public static void main(String[] args) { TestClass testClass = new TestClass(); testClass.test(); } } 可以看出TestClass继承SuperClass并且重写了test()方法,那么我们运行main()方法,查询一下结果 class TestClass Super class TestClass class TestClass 我们可以看出来所有的this在控制台中打印的结果是我们的子类,因为继承的关系,在父类的ceshi()方法中会被继承到子类中,所以这里打印的super.ceshi()方法打印的结果是TestClass我认为很合理,但是在子类重写的test()方法中,调用父类的被重写的test()方法确仍然打印出TestClass,那么就可以判断处我之前的观念确实是存在问题,那么在将他人讲解的执行者概念套上在理解,确实可以解释的通的;那么至少说明我之前理解的概念是不完全正确的 ...