日常开发中,会遇到一些终端指令,例如查看本地进程、查看dns解析、本机公网地址等
文本主要是进行记录汇总:(mac)
常见执行(mac)
- 查看本机公网id:curl ifconfig.co 或 curl -v ifconfig.co
- 监听本地端口: nc -l 8080
- 查看进程占用系统资源:top
- 查看本机的networkspace:ip netns list
- 自动多次执行:
for i in `seq 10`; do curl http://127.0.0.1:8080; done
- 查看dns:nslookup www.baidu.com
- 查看iptables规则:
iptables -nL -t nat
iptables -nL -t mangle
ipvsadm -l // 查看负载均衡 - 查看tcp链接状态:netstat -an | grep tcp
- 查看dns信息:dig image.baidu.com
- 查看arp本地缓存:arp -nla
- 路由追踪:traceroute www.baidu.com
- 查看请求时间:time curl http://xxx
浏览器解码
浏览器解析 HTML 文档时主要有三个过程:HTML 解析、URL解析、JavaScript 解析。
每个解析器负责解码和解析文档中对应的部分,且解析是有顺序的。
&#x、\u 都可以表示Unicode 编码;
javascript 编码格式:\u
html 实体编码:&#
URL 编码:%74、%20
说明:不同浏览器的运行效果有差异。
HTML 解码示例:
<h3>HTML 编码</h3>
<p>对于 a 标签, href 属性 javascript:alert(1) 编码比较 </p>
<p>1 <a href="javascript:alert(1)">未编码</a></p>
<p>1 <a href="javascript:alert(1)">href 中的 r 进行了编码</a></p>
<p>1 <a href="javascript:alert(1)">javascript 中的 r 进行了编码</a></p>
<p>1 <a href="javascript:alert(1)">alert 中的 r 进行了编码</a></p>
URL 解码示例:
<h3>URL 解码</h3>
<p>对于 a 标签, href 属性 javascript:alert(1) 编码比较 </p>
<p>1 <a href="javascript:alert(1)">未编码</a></p>
<p>2 <a h%72ef="javascript:alert(1)">href 中的 r 进行了编码</a></p>
<p>3 <a href="javasc%72ipt:alert(1)">javascript 中的 r 进行了编码</a></p>
<p>4 <a href="javascript:ale%72t(1)">alert 中的 r 进行了编码</a></p>
Javascript 解码示例:
<h3>JavaScript 解码</h3>
<p>对于 a 标签, href 属性 javascript:alert(1) 编码比较 </p>
<p>1 <a href="javascript:alert(1)">未编码</a></p>
<p>2 <a h\u0072ef="javascript:alert(1)">href 中的 r 进行了编码</a></p>
<p>3 <a href="javasc\u0072ipt:alert(1)">javascript 中的 r 进行了编码</a></p>
<p>4 <a href="javascript:ale\u0072t(1)">alert 中的 r 进行了编码</a></p>
注意:混合编码涉及到解码顺序,其中优先级由低到高为 JS < URL < HTML
二层混合编码:
<h3>二层混淆 解码</h3>
<!--
r \u0072 %5c%75%30%30%37%32
r \u0072 \u0072
r %72 %72
-->
<p>对于 a 标签, href 属性 javascript:alert(1) 编码比较 </p>
<p>1 <a href="javascript:ale%5c%75%30%30%37%32t(1)">alert(1) 中的 r 进行js编码, 后url编码</a></p>
<p>2 <a href="javascript:ale\u0072t(1)">alert(1) 中的 r 进行 js 编码, 后 html 编码</a></p>
<p>3 <a href="javascript:ale\u0072t(1)">alert(1) 中的 r 进行 url 编码, 后 html 编码</a></p>
三层混合编码:
<h3>三层混淆 解码</h3>
<p>对于 a 标签, href 属性 javascript:alert(1) 编码比较 </p>
<p><a href="javascript:ale%5c%75%30%30%37%32t(1)">alert(1) 中的 r 进行 js 编码, 后 url 编码, 再 html 编码</a></p>
工具网站
- html编码解码:http://monyer.com/demo/monyerjs/
- url编码解码:https://www.urldecoder.org/
- unicode编码解码:https://www.online-toolz.com/tools/text-unicode-entities-convertor.php
- 短链接:https://www.985.so/
- 常见的文件头格式解析工具:ultraEdit
- MIME类型查看:https://www.iana.org/assignments/media-types/media-types.xhtml
- SHA1 在线编码: https://emn178.github.io/online-tools/index.html
- 测试站点是否支持 TLS1.3:https://www.ssllabs.com/ssltest/
- base64编码工具:https://base64.guru/converter/decode/hex
10.16进制异或操作:https://xor.pw/