首页
关于
Search
1
2022最新WPS政府/教育版合集
3,282 阅读
2
欢迎使用 Typecho
3,097 阅读
3
thinkphp 做301重定向跳转
2,550 阅读
4
IDE 注册教程
2,382 阅读
5
nginx反向代理设置泛目录解析
2,372 阅读
源码
教程
HTML
JAVASCRIPT
PHP
MYSQL
系统
LINUX
WINDOWS
填坑
工具
登录
/
注册
Search
标签搜索
系统工具
内网穿透
PHPDesktop
TaurusCoders
累计撰写
52
篇文章
累计收到
1
条评论
首页
栏目
源码
教程
HTML
JAVASCRIPT
PHP
MYSQL
系统
LINUX
WINDOWS
填坑
工具
页面
关于
搜索到
52
篇与
iprub
的结果
2024-12-06
安装minio
一、安装minio Centos wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230227181045.0.0.x86_64.rpm -O minio.rpm sudo dnf install minio.rpm 1 2 Debian wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20230227181045.0.0_amd64.deb -O minio.deb sudo dpkg -i minio.deb 1 2 二、编辑 vi /etc/systemd/system/minio.service文件 ########看情况,用不到的话就注释这三行############## # User=minio-user # Group=minio-user # ProtectProc=invisible 1 2 3 4 修改后需要重新加载设置使其生效。 systemctl daemon-reload 1 创建存储文件夹 mkdir /root/minioData 1 三、编辑环境变量文件 vi /etc/default/minio # 编辑配置文件 MINIO_VOLUMES="/root/minioData" MINIO_OPTS="--console-address :9001 --address :9000" MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin 1 2 3 4 5 重新启动并查看状态 systemctl start minio && systemctl status minio 1 四、显示正常后,设置开机启动 systemctl enable minio 1 五、配置minio的客户端 mc 1、下载mc 免费下载:mc 2、配置mc 直接移动到和mino同位置的/usr/local/bin/下就行了 然后 chmod +x 赋予权限就完成了。。 chmod +x mc mv mc /usr/local/bin/ 1 2 但是还要给mc配置一个alias别名,不然无法创建bucket。alias的别名为服务器地址。 mc alias set myminio http://192.168.110.119:9000 minioadmin minioadmin 1 查看别名 mc alias list 1 安装结束! ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/qq_45738379/article/details/135391687
2024年12月06日
195 阅读
0 评论
0 点赞
2024-10-23
nginx动态设置ip黑名单
为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单中的 IP ,我们将拒绝提供服务。并且可以设置封禁失效时间环境准备linux version: centos7 / ubuntu 等redis version: 5.0.5nginx version: nginx-openresty设计方案实现 IP 黑名单的功能有很多途径:1、在操作系统层面,配置 iptables,来拦截指定 IP 的网络请求。优点:简单直接,在服务器物理层面上进行拦截缺点:每次需要手动上服务器修改配置文件,操作繁琐且不灵活2、在 Web 服务器层面,通过 Nginx 自身的 deny 选项或者 lua 插件配置 IP 黑名单。优点:可动态实现封禁 ip,通过设置封禁时间可以做到分布式封禁缺点:需要了解 Lua 脚本和 Nginx 配置,有一定的学习成本3、在应用层面,在处理请求之前检查客户端的 IP 地址是否在黑名单中。优点:通过编写代码来实现,相对简单且易于维护。缺点:代码可能会变得冗长,而且在高并发情况下可能影响性能。为了方便管理和共享黑名单,通过 nginx + lua + redis 的架构实现 IP 黑名单的功能图片配置 nginx.conf在需要进行限制的 server 的 location 中添加如下配置:location / { # 如果该location 下存在静态资源文件可以做一个判断 #if ($request_uri ~ .*\.(html|htm|jpg|js|css)) { # access_by_lua_file /usr/local/lua/access_limit.lua; #} access_by_lua_file /usr/local/lua/access_limit.lua; # 加上了这条配置,则会根据 access_limit.lua 的规则进行限流 alias /usr/local/web/; index index.html index.htm;}配置 lua 脚本/usr/local/lua/access_limit.lua-- 可以实现自动将访问频次过高的IP地址加入黑名单封禁一段时间--连接池超时回收毫秒local pool_max_idle_time = 10000--连接池大小local pool_size = 100--redis 连接超时时间local redis_connection_timeout = 100--redis hostlocal redis_host = "your redis host ip"--redis portlocal redis_port = "your redis port"--redis authlocal redis_auth = "your redis authpassword";--封禁IP时间(秒)local ip_block_time= 120--指定ip访问频率时间段(秒)local ip_time_out = 1--指定ip访问频率计数最大值(次)local ip_max_count = 3-- 错误日志记录local function errlog(msg, ex) ngx.log(ngx.ERR, msg, ex)end-- 释放连接池local function close_redis(red) if not red then return end local ok, err = red:set_keepalive(pool_max_idle_time, pool_size) if not ok then ngx.say("redis connct err:",err) return red:close() endend--连接redislocal redis = require "resty.redis"local client = redis:new()local ok, err = client:connect(redis_host, redis_port)-- 连接失败返回服务器错误if not ok then close_redis(client) ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)end--设置超时时间client:set_timeout(redis_connection_timeout)-- 优化验证密码操作 代表连接在连接池使用的次数,如果为0代表未使用,不为0代表复用 在只有为0时才进行密码校验local connCount, err = client:get_reused_times()-- 新建连接,需要认证密码if 0 == connCount then local ok, err = client:auth(redis_auth) if not ok then errlog("failed to auth: ", err) return end --从连接池中获取连接,无需再次认证密码elseif err then errlog("failed to get reused times: ", err) returnend-- 获取请求iplocal function getIp() local clientIP = ngx.req.get_headers()["X-Real-IP"] if clientIP == nil then clientIP = ngx.req.get_headers()["x_forwarded_for"] end if clientIP == nil then clientIP = ngx.var.remote_addr end return clientIPendlocal cliendIp = getIp();local incrKey = "limit:count:"..cliendIplocal blockKey = "limit:block:"..cliendIp--查询ip是否被禁止访问,如果存在则返回403错误代码local is_block,err = client:get(blockKey)if tonumber(is_block) == 1 then ngx.exit(ngx.HTTP_FORBIDDEN) close_redis(client)endlocal ip_count, err = client:incr(incrKey)if tonumber(ip_count) == 1 then client:expire(incrKey,ip_time_out)end--如果超过单位时间限制的访问次数,则添加限制访问标识,限制时间为ip_block_timeif tonumber(ip_count) > tonumber(ip_max_count) then client:set(blockKey,1) client:expire(blockKey,ip_block_time)endclose_redis(client)总结以上,便是 Nginx+Lua+Redis 实现的 IP 黑名单功能,具有如下优点:配置简单轻量,对服务器性能影响小。多台服务器可以通过共享 Redis 实例共享黑名单。动态配置,可以手工或者通过某种自动化的方式设置 Redis 中的黑名单扩展1、IP 黑名单的应用场景IP 黑名单在实际应用中具有广泛的应用场景,主要用于保护服务器和应用免受恶意攻击、爬虫或滥用行为的影响。下面列举几个常见的应用场景:防止恶意访问: 黑名单可以阻止那些试图通过暴力破解密码、SQL 注入、XSS 攻击等方式进行非法访问的 IP 地址。防止爬虫和数据滥用: 黑名单可以限制那些频繁访问网站并抓取大量数据的爬虫,以减轻服务器负载和保护数据安全。防止 DDOS 攻击: 黑名单可以封禁那些发起大规模DDoS攻击的IP地址,保护服务器的稳定性和安全性。限制访问频率: 黑名单可以限制某个IP在特定时间段内的访问次数,防止恶意用户进行暴力破解、刷票等行为。2、高级功能和改进除了基本的 IP 黑名单功能外,还可以进行一些高级功能和改进,以提升安全性和用户体验:异常检测和自动封禁: 通过分析访问日志和行为模式,可以实现异常检测功能,并自动将异常行为的 IP 地址封禁,提高安全性。白名单机制: 除了黑名单,还可以引入白名单机制,允许某些 IP 地址绕过黑名单限制,确保合法用户的正常访问。验证码验证: 对于频繁访问或异常行为的 IP,可以要求其进行验证码验证,以进一步防止恶意行为。数据统计和分析: 将黑名单相关的数据进行统计和分析,例如记录封禁 IP 的次数、持续时间等信息,以便后续优化和调整策略。通过不断改进和优化 IP 黑名单功能,可以更好地保护服务器和应用的安全。
2024年10月23日
460 阅读
0 评论
1 点赞
2024-04-02
PhpStorm配置Xdebug最完整最详解教程
前言很多人好奇网上关于php配置xdebug的教程那么多,为什么我还要写这篇文章?因为网上的教程配置很乱,很多都是复制粘贴,有些配置项根本不需要,也不解释干嘛的,而且不够详细。本教程主要应用于Windows,Mac和Linux基本上同理。配置xdebug扩展只配置Debug,不配置profiler和trace,profiler和trace干嘛的请百度。因为大多数情况下是单用户调试,所以不需要配置多用户参数,如:php.ini文件xdebug.idekey参数和PhpStorm的Debug -> DBGp Proxy。所以php.ini大概配置如下:zend_extension= php_xdebug.dllxdebug.remote_enable=Onxdebug.remote_host=127.0.0.1xdebug.remote_port=9100xdebug官网下载地址:https://xdebug.org/download.php扩展一定要装对,注意区分ts和nts版本,phpinfo()查看扩展是否成功。推荐 phpEnv集成环境 ,自带xdebug扩展和多版本php设置PhpStorm打开PhpStorm,菜单File -> Settings,然后找到 Languages & Frameworks -> PHP -> Debug设置Debug port为9100为什么不是9000?因为会和一些集成环境的php-cgi或者php-fpm端口冲突.然后配置Languages & Frameworks -> PHP -> Servers然后找到PhpStorm右上角电话图标,开始监听php debug的链接打开 phpEnv集成环境 的TCP端口进程列表,有9100端口,说明监听成功触发断点调试在你需要的代码处打断点,这是基础和必须,就不多介绍了。触发PhpStorm的debug方式主要有两种GET、POST存在XDEBUG_SESSION_START 参数或者cookie里存在XDEBUG_SESSION,单用户调试 值随意。GET、POST会生成cookie XDEBUG_SESSION,有效期为1个小时(可修改php.ini配置)。很多教程需要下载Xdebug helper等浏览器插件,原理就是请求里附加cookie。php.ini文件 xdebug.remote_autostart 参数设置为On或者1,无需设置GET、POST、cookie。(不推荐,虽然不需要设置参数,设置针对环境,而不是项目,还要重启php环境)浏览器调试针对第1种,教大家用一种更简单的方式,不需要下载浏览器插件。找到PhpStorm右上角然后点小甲虫图标会打开浏览器访问你的url,并且携带GET参数XDEBUG_SESSION_START,同时生成cookie XDEBUG_SESSION,也就是说,下次(cookie有效期1小时)无需点击小甲虫,浏览器直接输入,如www.a.com或www.a.com/chat/1/即可触发调试Postman接口调试针对第1种,Postman触发方式如图可以直接添加GET、POST参数,在请求结束后,会自动附加cookie XDEBUG_SESSION,也可以手动添加cookie XDEBUG_SESSION。
2024年04月02日
422 阅读
0 评论
0 点赞
2023-12-23
php-beast加解密教程
php-beast 非常易用 效率又高的php代码保护扩展,介绍一下 windows 和linux上安装和使用的问题 ,以及如何处理常见解密问题1)Windows版本加密处理https://github.com/imaben/php-beast-binarieswindows下 可以直接在这里下载dll根据自己的php版本 还有是不是线程安全的 来选择下载对应的 放到对应的扩展目录 中在配置文件 php.ini中加入扩展配置extension=php_beast_x86_nts.dll但是秘钥是一样的 编译的话很多时候 会失败 或者出现lib版本不匹配问题老版本 我用vs编译过 dll收到版本限制比较麻烦处理官方提供的版本很稳定 直接二进制修改对应秘钥部分就可以了【1】处理aes的部分 ida分析到 变了对应的位置static uint8_t key[] = { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,};根据文件偏移 用ue二进制编辑 找到对应位置 修改 保存即可【2】处理des部分ida逆向分析出秘钥变量的位置 和源码里面static char key[8] = { 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x0e, 0x01, 0x0e,};正好对应上 用ue二进制编辑 修改保存测试通过 其他加密方式就不处理了 [3] encrypt_file_header_sign 修改 encrypt_file_header_sign 修改ida分析到 头 信息 位置 这个数据应该是在加密的文件最前面来标示文件是否被加密了 尽量特别一点我的版本 在76760这个位置长度是8 2)Linux 版本加密处理 编译前需要修改秘钥 新版本的加密方式比较多 需要修改的地方也比较多老版本的是在key.c中修改 新版 修改是在header.c中aes_algo_lib.cdes_algo_handler.cheader.c编译步骤如下120 wget https://github.com/liexusong/php-beast/archive/master.zip121 unzip master.zip122 cd php-beast-master/124 phpize125 ./configure --with-php-config=/apps/php/bin/php-config报错 找不到 php-config找一下自己的 配置在哪里130 find / -name "php-config"确定配置文件位置131 ./configure --with-php-config=/usr/local/php/bin/php-config132 sudo make && make install133 sudo make test134 php -m发现没成功 重新试一遍135 ./configure --with-php-config=/usr/local/php/bin/php-config136 sudo make && make install后面也要加sudo root权限137 sudo make && sudo make install138 php -m140 sudo make test成功添加到php配置文件种141 php -i|grep ini142 gedit /usr/local/php/etc/php.ini添加 extension="beast.so"146 php -i|grep extension153 service php-fpm restart重启php 开始加密测试154 cd tools/161 php encode_file.php --encrypt DES --oldfile 1.php --newfile 22.php162 php 22.php163 cat 221.php 加密后生成 2.php 加密后运行测试正常 3)php-beast解密 [1]修改过的密钥的 很难解密未知密钥只能暴力破解 分析 加密的文件头部 判断是 哪一种类型加密 三种加密类型 大多数是aes des的 base64的应该没人用 分析出加密类型 对文件主体进行破解分析 -----------------------分析说明 B----------------------------- #define INT_SIZE (sizeof(int)) x64上占4个字节 php_stream_write(output_stream,encrypt_file_header_sign, encrypt_file_header_length); php_stream_write(output_stream, (const char *)&dumplen, INT_SIZE); 长度 php_stream_write(output_stream, (const char *)&expireval, INT_SIZE); 过期时间 php_stream_write(output_stream, (const char *)&dumptype, INT_SIZE); 加密类型 des=1 BEAST_ENCRYPT_TYPE_DES = 1, dumptype默认des 值为1 BEAST_ENCRYPT_TYPE_AES, BEAST_ENCRYPT_TYPE_BASE64, 使用beast_encode_file()函数加密文件,函数原型如下:beast_encode_file(string $input_file, string $output_file, int expire_timestamp, int encrypt_type)。$input_file: 要加密的文件$output_file: 输出的加密文件路径$expire_timestamp: 文件过期时间戳$encrypt_type: 加密使用的算法(支持:BEAST_ENCRYPT_TYPE_DES、BEAST_ENCRYPT_TYPE_AES) -----------------------分析说明 E----------------------------- 【2】默认密钥加密的 ,未修改过的最多 大多数保护代码的三方为了安装容易 都会使用默认的密钥加密方式,否则一个服务器部署多个版本php-beast 会增加难度 易用性降低 默认密钥 如下 自己解密主体就好了 des_key = "11" aes_key=2b,懒人也可以 用免费的工具 解密默认的php-beast加密的文件 点击 传送门phpbeast-beast解密decode-在线工具
2023年12月23日
544 阅读
0 评论
0 点赞
2023-07-07
模拟浏览器抓取网页信息
在我们日常做采集数据的时候,经常会遇到采集源使用前后端分离的,查看源代码什么数据都没有,接口也是加密的,无法采集到数据,那这个时候怎么办呢?这个时候我们可以使用 WebDriver去采集内容,它可以帮你获得页面加载完成并获取完整的渲染后的页面内容,包括动态生成的内容。这意味着您可以采集到前后端分离网站上通过 JavaScript 或 AJAX 加载的数据。接下来让我自己动手写一个试试看。Part1centos 安装 google-chrome和chromedrive1下载 Chrome 浏览器的安装包:wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm2安装 Chrome 浏览器:sudo yum localinstall google-chrome-stable_current_x86_64.rpm3验证 Chrome 是否成功安装:google-chrome --version4下载对应版本的 ChromeDriver,并解压到指定目录(/usr/local/bin):wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zipunzip chromedriver_linux64.zip -d /usr/local/bin/5启动 ChromeDriver 服务:LANGUAGE=ZH-CN.UTF-8 /usr/local/bin/chromedriver --port=95156成功运行后(不要关闭),您应该会看到类似以下输出:Starting ChromeDriver {version} on port 9515...Only local connections are allowed.Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.ChromeDriver was started successfully.Part2PHP代码实现当做完前面两步准备工作,安装好了浏览器(Google Chrome)与浏览器驱动程序(Chromdriver)之后,总算可以进入主题,安装与使用 Php-webdriver 了。我们先再试试看bilibili这个网站,比如:下图的大世界扭蛋机这个标题(图1),我们查看网页源码是没有对应的视频标题的(图2)。(图1)(图2)现在让我们试试看使用webdriver扩展去抓取试试看。使用composer安装Php-webdrivercomposer require php-webdriver/webdriver写php代码<?phprequire_once('vendor/autoload.php');use Facebook\WebDriver\Remote\DesiredCapabilities;use Facebook\WebDriver\Remote\RemoteWebDriver;use Facebook\WebDriver\Chrome\ChromeOptions;$options = new ChromeOptions();$options->addArguments(['--no-sandbox','--headless']);$capabilities = DesiredCapabilities::chrome();$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);$host = 'http://localhost:9555';$driver = RemoteWebDriver::create($host, $capabilities);$url = 'https://www.bilibili.com/movie/index/?from_spmid=666.7.index.1#st=2&style_id=10104&area=-1&release_date=-1&season_status=-1&order=2&sort=0&page=1';// 访问网站$driver->get($url);// 获取页面源代码$pageSource = $driver->getPageSource();echo $pageSource;// 关闭 WebDriver 会话$driver->quit();运行结果成功获取源代码。Part3介绍一下xpathXPath 是一种用于在 XML 或 HTML 文档中定位元素的语言。在 PHP WebDriver 中,XPath 是一个重要的工具,可以帮助我们定位和操作页面上的元素。XPath 表达式由节点选择器和路径表达式组成。以下是一些常用的 XPath 语法和示例:选择元素://tagname:选择所有具有指定标签名称的元素。//tagname[@attribute='value']:选择具有指定属性值的元素。//tagname[text()='text']:选择具有指定文本内容的元素。选择父子关系:/parent/child:选择父节点下的直接子节点。/parent//descendant:选择父节点下所有后代节点。选择兄弟关系:/preceding-sibling::sibling:选择当前节点之前的同级节点。/following-sibling::sibling:选择当前节点之后的同级节点。使用逻辑运算符:and、or、not():使用逻辑运算符进行条件组合。使用通配符:*:匹配任意元素。@*:匹配任意属性。以下是一个使用 XPath 定位元素并执行操作的示例代码:<?php$driver = RemoteWebDriver::create($host, $capabilities);// 打开网页$driver->get('https://www.example.com/');// 使用 XPath 定位元素并执行操作$element = $driver->findElement(WebDriverBy::xpath("//input[@name='username']"));$element->sendKeys('admin');// 关闭 WebDriver 连接$driver->quit();上述代码中,我们使用 $driver->findElement() 方法和 WebDriverBy::xpath() 来通过 XPath 表达式定位页面上的元素。在示例中,我们使用了 //input[@name='username'] 的 XPath 表达式来选择具有 name 属性值为 'username' 的 <input> 元素。然后,我们使用 $element->sendKeys() 方法向选定的元素发送键盘输入。请注意,XPath 是一种强大而灵活的定位工具,可以根据不同的需求编写不同的表达式。您可以根据页面结构和要定位的元素特征来编写适当的 XPath 表达式。
2023年07月07日
349 阅读
0 评论
0 点赞
2023-07-07
使用.htaccess文件实现指定域名访问指定二级目录
现在很多主机商都不支持虚拟目录设定,比如:手机站是m.xxxx.cn,手机站放在PC网站的二级目录下面即www.xxxx.cn/m这样可以访问。但是主机绑定m.xxxx.cn以后,默认访问的是PC站的页面内容,现在我们要实现,只要在浏览器输入m.xxxx.cn或者是www.xxxx.cn/m,回车以后都访问/m目录下面的内容,并且域名跳转到手机二级域名m.xxxx.cn。这就需要利用.htaccess文件(前提你的空间服务器必须支持apache的rewrite功能,只有这样才能使用.htaccess)。如果你的空间是Linux服务器一般默认都开启了的。准备工作就不用多说了,域名解析并绑定到空间,域名解析一般2小时左右全国就生效了,等生效以后再测试。首先在本地建个txt文件,复制下面的代码修改替换你要绑的域名和目录,并传到网站主目录下再改成为.htaccess。例如:下面是以 m.aaa.com 和 bbb.cn 为例的.htaccess代码。<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /</IfModule>1234绑定m.aaa.com 到 m 子目录RewriteCond %{HTTP_HOST} ^m\.aaa\.com$ [NC]RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA]123可以绑定多个 只需重复上三行代码并更改一下域名、目录名就好了#绑定bbb.cn 到 seo 子目录<IfModule mod_rewrite.c> RewriteCond %{HTTP_HOST} ^www\.bbb\.cn$ [NC] RewriteCond %{REQUEST_URI} !^/seo/ RewriteRule ^(.*)$ seo/$1?Rewrite [L,QSA]</IfModule>123456如果你以完成上面的步骤,你的子域名应该可以访问了,但你会发现在浏览器上访问主域名+绑定的域名目录(即www.aaa.com/m)也可以访问,可这并不是我们想要的,接下来我们完成最后一步。在每一个绑定的目录中,如m目录中 也增加一个.htaccess 文件。#.htaccess代码如下:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #只许绑定的域名访问 RewriteCond %{HTTP_HOST} !^m\.aaa\.com$ [NC] RewriteRule (.*) http://m.aaa.com/$1 [L,R=301] #对绑定目录下与同名的目录的处理(添加下面代码以后,如果报错,可以注释) RewriteCond %{REQUEST_URI} ^\/m\/ [NC] RewriteCond %{QUERY_STRING} !^(.*)?Rewrite RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]</IfModule>123456789101112注意:如果你的网站根目录已存在.htaccess文件;比如 WordPress 修改过固定链接,那么目录会有一个.htaccess 文件里面如有:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ./index.php [L]</IfModule>1234567改为:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^m\.9pinw\.com$ [NC] RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ./index.php [L]</IfModule>
2023年07月07日
376 阅读
0 评论
0 点赞
2023-03-09
ASCII对应码表-键值
ASCII对应码表-键值(完整版) Bin(二进制)Oct(八进制)Dec(十进制)Hex(十六进制)缩写/字符解释0000 00000000x00NUL(null)空字符0000 00010110x01SOH(start of headline)标题开始0000 00100220x02STX (start of text)正文开始0000 00110330x03ETX (end of text)正文结束0000 01000440x04EOT (end of transmission)传输结束0000 01010550x05ENQ (enquiry)请求0000 01100660x06ACK (acknowledge)收到通知0000 01110770x07BEL (bell)响铃0000 100001080x08BS (backspace)退格0000 100101190x09HT (horizontal tab)水平制表符0000 1010012100x0ALF (NL line feed, new line)换行键0000 1011013110x0BVT (vertical tab)垂直制表符0000 1100014120x0CFF (NP form feed, new page)换页键0000 1101015130x0DCR (carriage return)回车键0000 1110016140x0ESO (shift out)不用切换0000 1111017150x0FSI (shift in)启用切换0001 0000020160x10DLE (data link escape)数据链路转义0001 0001021170x11DC1 (device control 1)设备控制10001 0010022180x12DC2 (device control 2)设备控制20001 0011023190x13DC3 (device control 3)设备控制30001 0100024200x14DC4 (device control 4)设备控制40001 0101025210x15NAK (negative acknowledge)拒绝接收0001 0110026220x16SYN (synchronous idle)同步空闲0001 0111027230x17ETB (end of trans. block)结束传输块0001 1000030240x18CAN (cancel)取消0001 1001031250x19EM (end of medium)媒介结束0001 1010032260x1ASUB (substitute)代替0001 1011033270x1BESC (escape)换码(溢出)0001 1100034280x1CFS (file separator)文件分隔符0001 1101035290x1DGS (group separator)分组符0001 1110036300x1ERS (record separator)记录分隔符0001 1111037310x1FUS (unit separator)单元分隔符0010 0000040320x20(space)空格0010 0001041330x21!叹号0010 0010042340x22"双引号0010 0011043350x23#井号0010 0100044360x24$美元符0010 0101045370x25%百分号0010 0110046380x26&和号0010 0111047390x27'闭单引号0010 1000050400x28(开括号0010 1001051410x29)闭括号0010 1010052420x2A*星号0010 1011053430x2B+加号0010 1100054440x2C,逗号0010 1101055450x2D-减号/破折号0010 1110056460x2E.句号0010 1111057470x2F/斜杠0011 0000060480x300字符00011 0001061490x311字符10011 0010062500x322字符20011 0011063510x333字符30011 0100064520x344字符40011 0101065530x355字符50011 0110066540x366字符60011 0111067550x377字符70011 1000070560x388字符80011 1001071570x399字符90011 1010072580x3A:冒号0011 1011073590x3B;分号0011 1100074600x3C<小于0011 1101075610x3D=等号0011 1110076620x3E>大于0011 1111077630x3F?问号0100 00000100640x40@电子邮件符号0100 00010101650x41A大写字母A0100 00100102660x42B大写字母B0100 00110103670x43C大写字母C0100 01000104680x44D大写字母D0100 01010105690x45E大写字母E0100 01100106700x46F大写字母F0100 01110107710x47G大写字母G0100 10000110720x48H大写字母H0100 10010111730x49I大写字母I010010100112740x4AJ大写字母J0100 10110113750x4BK大写字母K0100 11000114760x4CL大写字母L0100 11010115770x4DM大写字母M0100 11100116780x4EN大写字母N0100 11110117790x4FO大写字母O0101 00000120800x50P大写字母P0101 00010121810x51Q大写字母Q0101 00100122820x52R大写字母R0101 00110123830x53S大写字母S0101 01000124840x54T大写字母T0101 01010125850x55U大写字母U0101 01100126860x56V大写字母V0101 01110127870x57W大写字母W0101 10000130880x58X大写字母X0101 10010131890x59Y大写字母Y0101 10100132900x5AZ大写字母Z0101 10110133910x5B[开方括号0101 11000134920x5C\反斜杠0101 11010135930x5D]闭方括号0101 11100136940x5E^脱字符0101 11110137950x5F_下划线0110 00000140960x60`开单引号0110 00010141970x61a小写字母a0110 00100142980x62b小写字母b0110 00110143990x63c小写字母c0110 010001441000x64d小写字母d0110 010101451010x65e小写字母e0110 011001461020x66f小写字母f0110 011101471030x67g小写字母g0110 100001501040x68h小写字母h0110 100101511050x69i小写字母i0110 101001521060x6Aj小写字母j0110 101101531070x6Bk小写字母k0110 110001541080x6Cl小写字母l0110 110101551090x6Dm小写字母m0110 111001561100x6En小写字母n0110 111101571110x6Fo小写字母o0111 000001601120x70p小写字母p0111 000101611130x71q小写字母q0111 001001621140x72r小写字母r0111 001101631150x73s小写字母s0111 010001641160x74t小写字母t0111 010101651170x75u小写字母u0111 011001661180x76v小写字母v0111 011101671190x77w小写字母w0111 100001701200x78x小写字母x0111 100101711210x79y小写字母y0111 101001721220x7Az小写字母z0111 101101731230x7B{开花括号0111 110001741240x7C|垂线0111 110101751250x7D}闭花括号0111 111001761260x7E~波浪号0111 111101771270x7FDEL (delete)删除
2023年03月09日
437 阅读
0 评论
0 点赞
2023-03-09
可以自定义密钥的PHP源码加密模块
PHP-Beast是一个PHP源码加密的模块,其使用DES算法加密,用户可以自定义加密的key来加密源代码。PHP-Beast是一个PHP源码加密的模块,其使用DES算法加密,用户可以自定义加密的key来加密源代码。1、PHP-Beast的安装1234567$ wget https://github.com/liexusong/php-beast/archive/master.zip$ unzip master.zip$ cd php-beast-master$ phpize$ ./configure$ make$ sudo make install注意:在编译扩展之前先修改加密的key,如下图。编译好之后修改php.ini配置文件,加入配置项:extension=beast.so,重启php-fpm。安装完成后可以在phpinfo中看到如下结果:2、安装好PHP-Beast模块后,可以使用工具包中的encrypt_project.php工具来加密你的项目,你只需要输入项目的路径和输出的项目路径即可(这个工具只会加密PHP文件,其他文件只会简单的复制),如:加密完成后使用文本编辑器看编译后的文件可以发现已经变为乱码,如:3. 当然你可能不希望加密项目的所有PHP源文件,所以你可以使用PHP-Beast模块提供的beast_encode_file()函数来加密其中的某个文件,使用方法:1beast_encode_file($input_file, $output_file)$input_file是要加密的文件,$output_file是要输出加密后的文件。4. 把源码加密后就可以放到服务器上运行了。另外PHP-Beast模块提供缓存功能,我们可以在php.ini文件中修改缓存的大小来控制PHP-Beast模块可以使用的缓存。如:12[beast]beast.cache_size = 20000我们可以使用beast_cache_status()函数来查看缓存的状态。
2023年03月09日
521 阅读
0 评论
0 点赞
2023-02-01
MySQL 带参数的存储过程(动态执行SQL语句)
MySQL5.0 以后,支持动态sql语句。当SQL语句中 字段名,表名,数据库名等 要作为变量时,必须要使用动态SQL。MySQL动态SQL语法如下:set sql = (预处理的sql语句,可以是用concat拼接的语句)set @sql = sql //你的sql语句PREPARE stmt FROM @sql; EXECUTE stmt (如果sql有参数的话, USING xxx,xxx); // 这里USING的只能是会话变量;DEALLOCATE PREPARE stmt;1、 定义要执行的sql变量,并为其赋值2、预定义好要使用的sql.3、执行预定义的sql4、释放掉数据库连接实例1:delimiter //create procedure pro_test()beginset @_sql = 'select ? + ?';set @a = 5;set @b = 6;PREPARE stmt from @_sql; // 预定义sqlEXECUTE stmt USING @a,@b;// 传入两个会话变量来填充sql中的 ?DEALLOCATE PREPARE stmt; // 释放连接end //调用:call pro_test();返回结果:11实例2:delimiter //CREATE PROCEDURE pro_stu(in order_param VARCHAR(50),in startindex int ,in size int)BEGIN set @v_sql = "select * from student s ORDER BY ? LIMIT ?,?"; PREPARE stmt from @v_sql; set @a = order_param; set @b = startindex; set @c = size; EXECUTE stmt using @a,@b,@c; DEALLOCATE PREPARE stmt;end//delimiter;调用:call pro_stu('s.s_no desc',0,20);输出结果:image.png注意:MySQL 在存储过程中是不支持直接使用变量名作为表名或者是列名的,而在实际的应用中确实会用到变表名或者变量名的情况。以下实例简单说明动态表名、列名的查询。实例3:DROP PROCEDURE IF EXISTS select_test;delimiter //create PROCEDURE select_test(tableName varchar(20)) -- 创建存储过程 命名为testsBEGIN -- 存储过程的开始 set @tableNames = CONCAT(tableName); -- @先在用户变量中保存值然后在以后引用它 set @v_sql = CONCAT('select * from ',@tableNames);-- 拼接查询总记录的SQL语句 prepare stmt from @v_sql; -- 预定义一个语句,并将它赋给 stmt execute stmt ; -- 执行语句 deallocate prepare stmt;-- 要释放一个预定义语句的资源 end//-- 存储过程的结束delimiter;调用:call select_test('student');实例4:DROP PROCEDURE IF EXISTS myTest1;delimiter //create procedure myTest1(in columnName varchar(50)) -- 传入一个字符串BEGINdrop table if exists tmpTable; -- 如果临时表存在先删除掉set @_sql = concat('create temporary table if not exists tmpTable( ', columnName, ' varchar(50), id int(15), name varchar(50));'); -- 创建临时表的语法,我们把传入的参数拼接进来PREPARE stmt from @_sql; EXECUTE stmt;DEALLOCATE PREPARE stmt; -- 执行 desc tmpTable;end //调用:call myTest1('password');输出结果:作者:乘风破浪的姐姐链接:https://www.jianshu.com/p/d070abffa5fe来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2023年02月01日
948 阅读
0 评论
0 点赞
2022-11-09
thinkphp 404锛屾偍璇锋眰鐨勬枃浠朵笉瀛樺湪!
thinkphp6 当环境的pathinfo没启动的时候会报 404锛屾偍璇锋眰鐨勬枃浠朵笉瀛樺湪! 错误报错环境 系统windows10 宝塔面板 nginx php7.4修改nginx配置文件 php 74.conflocation ~ \.php(.*)$ { try_files $uri =404; fastcgi_pass 127.0.0.1:20074; fastcgi_index index.php; include fastcgi.conf; include pathinfo.conf; }重启php和nginx服务就可以解决
2022年11月09日
2,156 阅读
0 评论
0 点赞
2022-10-26
mysql 大表分页时获取总数方案
FOUND_ROWS() SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了。 例如:需要取出一张表的前10行,同时又需要取出符合条件的总数。这在某些翻页操作中很常见mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE id > 100 LIMIT 10; mysql> SELECT FOUND_ROWS() 表示的是:在上一查询之后,你只需要用FOUND_ROWS()就能获得查询总数,这个数目是抛掉了LIMIT之后的结果数 其中第一个sql里面的SQL_CALC_FOUND_ROWS不可省略,它表示需要取得结果数,也是后面使用FOUND_ROWS()函数的铺垫。第二个SELECT将返回第一条SELECT如果没有LIMIT时返回的行数,如果在前一条语句中没有使用SQL_CALC_FOUND_ROWS选项,FOUND_ROWS()将返回前一条语句实际返回的行数。FOUND_ROWS()得到的数字是临时的,执行下一条语句就会失效。如果想要这个数字,就要将它保存下来 mysql> SELECT SQL_CALC_FOUND_ROWS * FROM ... ; mysql> SET @rows = FOUND_ROWS(); 如果使用 SELECT SQL_CALC_FOUND_ROWS,MySQL必须计算所有结果集的行数。尽管这样,总比再执行一次不使用LIMIT的查询要快多了吧,因为那样结果集要返回客户端的
2022年10月26日
1,328 阅读
0 评论
0 点赞
2022-07-05
centos 设置时区并同步时间
设置时区cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime安装时间同步工具yum install ntp ntpdate -y执行同步时间service ntpd stop ntpdate us.pool.ntp.org service ntpd start date
2022年07月05日
679 阅读
0 评论
0 点赞
2022-06-14
nginx 设置详细日志记录
nginx 日志记录详细请求信息nginx.confworker_processes auto; worker_rlimit_nofile 51200; events { worker_connections 51200; multi_accept on; } http { include mime.types; #include luawaf.conf; include proxy.conf; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" $request_time'; log_format log_json '{ "timestamp": "$time_local", ' '"remote_addr": "$remote_addr", ' '"referer": "$http_referer", ' '"request": "$request", ' '"status": $status, ' '"bytes": $body_bytes_sent, ' '"agent": "$http_user_agent", ' '"x_forwarded": "$http_x_forwarded_for", ' '"up_addr": "$upstream_addr",' '"up_host": "$upstream_http_host",' '"up_resp_time": "$upstream_response_time",' '"request_time": "$request_time"' ' }'; log_format main_all '[$time_local] client=$remote_addr ' 'request="$request" request_length=$request_length ' 'http_referer="$http_referer" ' 'bytes_sent=$bytes_sent ' 'body_bytes_sent=$body_bytes_sent ' 'user_agent="$http_user_agent" ' 'upstream_addr=$upstream_addr ' 'upstream_status=$upstream_status ' 'cookie="$http_cookie" ' 'request_body="$request_body" ' 'document_root="$document_root" ' 'fastcgi_script_name="$fastcgi_script_name" ' 'request_filename="$request_filename" ' 'request_time=$request_time ' 'upstream_response_time=$upstream_response_time ' 'upstream_connect_time=$upstream_connect_time ' 'upstream_header_time=$upstream_header_time '; log_format main_json escape=json '{ ' '"time_local": "$time_local", ' '"remote_addr": "$remote_addr", ' '"request": "$request", ' '"request_length": "$request_length", ' '"http_referer": "$http_referer", ' '"bytes_sent": "$bytes_sent", ' '"body_bytes_sent": "$body_bytes_sent", ' '"http_user_agent": "$http_user_agent", ' '"upstream_addr": "$upstream_addr", ' '"upstream_status": "$upstream_status", ' '"http_cookie": "$http_cookie", ' '"request_body": "$request_body", ' '"document_root": "$document_root", ' '"fastcgi_script_name": "$fastcgi_script_name", ' '"request_filename": "$request_filename", ' '"request_time": "$request_time", ' '"upstream_response_time": "$upstream_response_time", ' '"upstream_connect_time": "$upstream_connect_time", ' '"upstream_header_time": "$upstream_header_time"' ' },'; server_names_hash_bucket_size 512; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\."; limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server_tokens off; access_log off; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } location /nginx_status { allow 127.0.0.1; deny all; stub_status on; access_log off; } } include vhost/*.conf; #加载vhost目录下的虚拟主机配置文件 }参数说明:$args #请求中的参数值$query_string #同 $args$arg_NAME #GET请求中NAME的值$is_args #如果请求中有参数,值为"?",否则为空字符串$uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"。$document_uri #同 $uri$document_root #当前请求的文档根目录或别名$host #优先级:HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名.请求中的主机头字段,如果请求中的主机头不可用,则为服务器处理请求的服务器名称$hostname #主机名$https #如果开启了SSL安全模式,值为"on",否则为空字符串。$binary_remote_addr #客户端地址的二进制形式,固定长度为4个字节$body_bytes_sent #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容$bytes_sent #传输给客户端的字节数$connection #TCP连接的序列号$connection_requests #TCP连接当前的请求数量$content_length #"Content-Length" 请求头字段$content_type #"Content-Type" 请求头字段$cookie_name #cookie名称$limit_rate #用于设置响应的速度限制$msec #当前的Unix时间戳$nginx_version #nginx版本$pid #工作进程的PID$pipe #如果请求来自管道通信,值为"p",否则为"."$proxy_protocol_addr #获取代理访问服务器的客户端地址,如果是直接访问,该值为空字符串$realpath_root #当前请求的文档根目录或别名的真实路径,会将所有符号连接转换为真实路径$remote_addr #客户端地址$remote_port #客户端端口$remote_user #用于HTTP基础认证服务的用户名$request #代表客户端的请求地址$request_body #客户端的请求主体:此变量可在location中使用,将请求主体通过proxy_pass,fastcgi_pass,uwsgi_pass和scgi_pass传递给下一级的代理服务器$request_body_file #将客户端请求主体保存在临时文件中。文件处理结束后,此文件需删除。如果需要之一开启此功能,需要设置client_body_in_file_only。如果将次文件传 递给后端的代理服务器,需要禁用request body,即设置proxy_pass_request_body off,fastcgi_pass_request_body off,uwsgi_pass_request_body off,or scgi_pass_request_body off$request_completion #如果请求成功,值为"OK",如果请求未完成或者请求不是一个范围请求的最后一部分,则为空$request_filename #当前连接请求的文件路径,由root或alias指令与URI请求生成$request_length #请求的长度 (包括请求的地址,http请求头和请求主体)$request_method #HTTP请求方法,通常为"GET"或"POST"$request_time #处理客户端请求使用的时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。$request_uri #这个变量等于包含一些客户端请求参数的原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:"/cnphp/test.php?arg=freemouse"$scheme #请求使用的Web协议,"http" 或 "https"$server_addr #服务器端地址,需要注意的是:为了避免访问linux系统内核,应将ip地址提前设置在配置文件中$server_name #服务器名$server_port #服务器端口$server_protocol #服务器的HTTP版本,通常为 "HTTP/1.0" 或 "HTTP/1.1"$status #HTTP响应代码$time_iso8601 #服务器时间的ISO 8610格式$time_local #服务器时间(LOG Format 格式)$cookie_NAME #客户端请求Header头中的cookie变量,前缀"$cookie_"加上cookie名称的变量,该变量的值即为cookie名称的值$http_NAME #匹配任意请求头字段;变量名中的后半部分NAME可以替换成任意请求头字段,如在配置文件中需要获取http请求头:"Accept-Language",$http_accept_language即可$http_cookie$http_host #请求地址,即浏览器中你输入的地址(IP或域名)$http_referer #url跳转来源,用来记录从那个页面链接访问过来的$http_user_agent #用户终端浏览器等信息$http_x_forwarded_for$sent_http_NAME #可以设置任意http响应头字段;变量名中的后半部分NAME可以替换成任意响应头字段,如需要设置响应头Content-length,$sent_http_content_length即可$sent_http_cache_control$sent_http_connection$sent_http_content_type$sent_http_keep_alive$sent_http_last_modified$sent_http_location$sent_http_transfer_encoding
2022年06月14日
1,063 阅读
0 评论
0 点赞
2022-04-19
红队资料仓库
编码/加密CyberChef:编解码及加密,可本地部署 https://github.com/gchq/CyberChefOK Tools在线工具:https://github.com/wangyiwy/oktoolsCTF在线工具:http://www.hiencode.com/Unicode字符表:https://www.52unicode.com/enclosed-alphanumerics-zifu在线MD5 Hash破解:https://www.somd5.com/实用工具Explain Shell:Shell命令解析 https://explainshell.com/在线正则表达式:https://c.runoob.com/front-end/854/Ceye DNS:DNS oob平台 http://ceye.io/DNS log:DNS oob平台 http://dnslog.cn/Webshell Chop:https://webshellchop.chaitin.cn/demo/XSS Chop:https://xsschop.chaitin.cn/demo/WebShell查杀:https://n.shellpub.com/Google Hacking Database:https://www.exploit-db.com/google-hacking-databaseWayback Machine:网页缓存查询 https://archive.org/web在线代码格式标准化:http://web.chacuo.net/formatshIP/域名收集确认真实IP地址IP精准定位:https://www.ipuu.net/#/homeIP 138:https://site.ip138.com/Security Trails:https://securitytrails.com/多个地点Ping服务器Chinaz:https://ping.chinaz.com/Host Tracker:https://www.host-tracker.com/Webpage Test:https://www.webpagetest.org/DNS Check:https://dnscheck.pingdom.com/Whois注册信息反查站长之家 Whois:https://whois.chinaz.com/中国万网 Whois:https://whois.aliyun.com/国际 Whois:https://who.is/DNS数据聚合查询Hacker Target:https://hackertarget.com/find-dns-host-recordsDNS Dumpster:https://dnsdumpster.comDNS DB:https://dnsdb.io/zh-cnTLS证书信息查询Censys:https://censys.ioCertificate Search:https://crt.sh证书透明度监控:https://developers.facebook.com/tools/ct"IP地址段收集CNNIC中国互联网信息中心:http://ipwhois.cnnic.net.cn网络空间搜索Fofa:https://fofa.info/Shodan:https://www.shodan.io/ZoomEye:https://www.zoomeye.org/谛听:https://www.ditecting.com/360网络空间测绘:https://quake.360.cn/quake/#/index威胁情报平台Virustotal:https://www.virustotal.com/gui/home/upload腾讯哈勃分析系统:https://habo.qq.com/tool/index微步在线威胁情报:https://x.threatbook.cn/奇安信威胁情报:https://ti.qianxin.com/360威胁情报:https://ti.360.net/#/homepage安恒威胁情报:https://ti.dbappsecurity.com.cn/火线安全平台:https://www.huoxian.cnHacking8安全信息流:https://i.hacking8.com/CTF平台CTF Wiki:https://ctf-wiki.org/CTF Time:https://ctftime.org/CTF Tools:https://github.com/zardus/ctf-tools攻防世界:https://adworld.xctf.org.cn/Hacker 101:https://www.hacker101.com/漏洞平台Exploit Database:https://www.exploit-db.com/HackerOne:https://www.hackerone.com/Vulhub:https://vulhub.org/乌云镜像:http://wooyun.2xss.cc/知道创宇漏洞平台:https://www.seebug.org/靶机平台HackTheBox:https://www.hackthebox.com/OWASP Top10:https://owasp.org/www-project-juice-shop/WebGoat:https://github.com/WebGoat/WebGoat公开知识库狼组公开知识库:https://wiki.wgpsec.org/404星链计划:知道创宇 404 实验室 https://github.com/knownsec/404StarLink信息收集指纹识别Wapplyzer:Chrome插件 跨平台网站分析工具 https://github.com/AliasIO/WappalyzerTideFinger:提取了多个开源指纹识别工具的规则库并进行了规则重组 https://github.com/TideSec/TideFinger御剑web指纹识别程序:https://www.webshell.cc/4697.html云悉指纹识别:http://www.yunsee.cn/扫描/爆破dirsearch:目录扫描/爆破 https://github.com/maurosoria/dirsearchdirmap:目录扫描/爆破 https://github.com/H4ckForJob/dirmapArjun:HTTP参数扫描器 https://github.com/s0md3v/Arjunksubdomain:子域名爆破 https://github.com/knownsec/ksubdomainGobuster:URI/DNS/WEB爆破 https://github.com/OJ/gobuster爆破字典Dictionary-Of-Pentesting:渗透测试、SRC漏洞挖掘、爆破、Fuzzing等常用字典 https://github.com/insightglacier/Dictionary-Of-PentestingfuzzDicts:Web渗透Fuzz字典 https://github.com/TheKingOfDuck/fuzzDictsPentesterSpecialDict:渗透测试工程师精简化字典 https://github.com/ppbibo/PentesterSpecialDict综合信息收集AlliN:https://github.com/P1-Team/AlliNKunyu:https://github.com/knownsec/KunyuOneForAll:https://github.com/shmilylty/OneForAllShuiZe:https://github.com/0x727/ShuiZe_0x727Fofa Viewer:https://github.com/wgpsec/fofa_viewer内网信息收集fscan:内网综合扫描工具 https://github.com/shadow1ng/fscanEHole:红队重点攻击系统指纹探测工具 https://github.com/EdgeSecurityTeam/EHoleLadon:用于大型网络渗透的多线程插件化综合扫描工具 https://github.com/k8gege/Ladon漏洞研究漏洞综述未授权访问漏洞总结:http://luckyzmj.cn/posts/15dff4d3.html#toc-heading-3漏洞挖掘Windows-Exploit-Suggester:https://github.com/AonCyberLabs/Windows-Exploit-SuggesterLinux_Exploit_Suggester:https://github.com/InteliSecureLabs/Linux_Exploit_Suggester开源漏洞库Vulhub:https://vulhub.org/PeiQi文库:http://wiki.peiqi.tech/PoCBox:https://github.com/0verSp4ce/PoCBoxVulnerability:https://github.com/EdgeSecurityTeam/VulnerabilityPOChouse:https://github.com/DawnFlame/POChousePOC/EXPysoserial:Java反序列化 https://github.com/frohoff/ysoserialVulmap:漏洞扫描和验证工具 https://github.com/zhzyker/vulmapSome-PoC-oR-ExP:各种漏洞PoC、ExP的收集或编写 https://github.com/coffeehb/Some-PoC-oR-ExPCMS-Hunter:CMS漏洞测试用例集合 https://github.com/SecWiki/CMS-HunterPenetration_Testing_POC:https://github.com/Mr-xn/Penetration_Testing_POC内网渗透BypassPHPFuck:https://github.com/splitline/PHPFuckJSFuck:http://www.jsfuck.com/PayloadsPayloadsAllTheThings:https://github.com/swisskyrepo/PayloadsAllTheThingsjava.lang.Runtime.exec() Payload:java Payload在线生成 https://www.bugku.net/runtime-exec-payloads/PHP Generic Gadget Chains:PHP反序列化Payload https://github.com/ambionics/phpggcWebShellWebshell收集项目:https://github.com/tennc/webshell反弹shell命令速查:https://github.com/Threekiii/Awesome-RedteamBehinder 冰蝎:https://github.com/rebeyond/BehinderBehinder3:kali + java 11.0.14 或 windows10 + java 1.8.0_91,注意,该环境下Behinder2无法正常运行Behinder2:windows10 + java 1.8.0_91Godzilla 哥斯拉:https://github.com/BeichenDream/Godzilla内网穿透NPS:通过web端管理,无需配置文件 https://github.com/ehang-io/npsFRP:55k star项目 https://github.com/fatedier/frpNeo-reGeorg:tunnel快速部署 https://github.com/L-codes/Neo-reGeorgProxifier:windows代理工具 https://www.proxifier.com/Proxychains:kali代理工具 https://github.com/haad/proxychains容器逃逸CDK:容器渗透 https://github.com/cdk-team/CDK其他The art of command line:快速掌握命令行 https://github.com/jlevy/the-art-of-command-lineResponder:实现获取NTLM Hash等功能 https://github.com/SpiderLabs/ResponderImpacket:其中的psexec.py通过用户名和密码远程连接到目标服务器 https://github.com/SecureAuthCorp/impacketPsTools:PsExec.exe功能同Impacket中的psexec.py https://docs.microsoft.com/en-us/sysinternals/downloads/pstools移动端安全CrackMinApp:反编译微信小程序 https://github.com/Cherrison/CrackMinAppAppInfoScanner:移动端信息收集 https://github.com/kelvinBen/AppInfoScanner安全厂商安全厂商及其官网链接:https://github.com/Threekiii/Awesome-Redteam工具赋能MetasploitMetasploit:https://github.com/rapid7/metasploit-frameworkCobaltstrikeAwesome CobaltStrike:CobaltStrike知识库 https://github.com/zer0yu/Awesome-CobaltStrikeErebus:后渗透测试插件 https://github.com/DeEpinGh0st/ErebusLSTAR:综合后渗透插件 https://github.com/lintstar/LSTARElevateKit:提权插件 https://github.com/rsmudge/ElevateKitBurpsuiteHaE:高亮标记与信息提取辅助型插件 https://github.com/gh0stkey/HaELog4j2Scan:Log4j主动扫描 https://github.com/whwlsfb/Log4j2ScanChrome crxProxy SwitchyOmega:快速切换代理 https://github.com/FelisCatus/SwitchyOmegaWappalyzer:识别网站技术/框架/语言 https://www.wappalyzer.com/EditThisCookie:修改Cookie https://www.editthiscookie.com/FindSomething:在网页的源代码或js中寻找有用信息 https://github.com/ResidualLaugh/FindSomethingDisable JavaScript:禁用JavaScript绕过弹窗 https://github.com/dpacassi/disable-javascriptHunter:查找网页暴露邮箱 https://hunter.io/chrome地址:https://github.com/Threekiii/Awesome-Redteam
2022年04月19日
761 阅读
0 评论
0 点赞
2022-04-09
Centos7 安装杀毒软件clamav
一、自动安装yum install clamav病毒库默认地址是/var/lib/clamav二、编译安装1.下载wget http://www.clamav.net/downloads/production/clamav-0.101.2.tar.gz2.创建clamav用户和存放病毒库目录clamav用户和用户组groupadd clamav && useradd -g clamav clamav && id clamav日志存放目录mkdir -p /usr/local/clamav/logs touch /usr/local/clamav/logs/clamd.log touch /usr/local/clamav/logs/freshclam.log chown clamav.clamav /usr/local/clamav/logs/clamd.log chown clamav.clamav /usr/local/clamav/logs/freshclam.log病毒存放目录mkdir -p /usr/local/clamav/updata chown -R root.clamav /usr/local/clamav/ chown -R clamav.clamav /usr/local/clamav/updata/3.解压安装包tar xf clamav-0.101.2.tar.gz4.安装依赖yum install gcc openssl openssl-devel -y5.编译安装cd clamav-0.100.0/ ./configure --prefix=/usr/local/clamav --with-pcre make && make install echo $?6.配置clamavcd /usr/local/clamav/etc cp clamd.conf.sample clamd.conf cp freshclam.conf.sample freshclam.confvim clamd.confExample 注释掉这一行.添加下面三行:LogFile /usr/local/clamav/logs/clamd.logPidFile /usr/local/clamav/updata/clamd.pidDatabaseDirectory /usr/local/clamav/updatavim freshclam.confExample 注释掉这一行.添加下面三行DatabaseDirectory /usr/local/clamav/updataUpdateLogFile /usr/local/clamav/logs/freshclam.logPidFile /usr/local/clamav/updata/freshclam.pid7.启动clamavchown -R clamav.clamav /usr/local/clamav/ systemctl start clamav-freshclam.service systemctl enable clamav-freshclam.service systemctl status clamav-freshclam.service8.更新病毒库先停止freshclamsystemctl stop clamav-freshclam.service再更新/usr/local/clamav/bin/freshclam如果更新不成功还可以,也无法下载的话就用本机电脑浏览器下载cvd文件再上传到服务器cd /usr/local/clamav/share/clamav wget http://database.clamav.net/main.cvd wget http://database.clamav.net/daily.cvd wget http://database.clamav.net/bytecode.cvd更新完成启动systemctl start clamav-freshclam.service systemctl status clamav-freshclam.service创建软链接ln -s /usr/local/clamav/bin/clamscan /usr/local/sbin/clamscan9.扫描杀毒clamscan:通用,不依赖服务,命令参数较多,执行速度稍慢;用clamscan扫描,不需要开始服务就能使用;-r 递归扫描子目录-i 只显示发现的病毒文件--no-summary 不显示统计信息 扫描参数:-r/--recursive[=yes/no] 所有文件--log=FILE/-l FILE 增加扫描报告--move [路径] 移动病毒文件至..--remove [路径] 删除病毒文件--quiet 只输出错误消息--infected/-i 只输出感染文件--suppress-ok-results/-o 跳过扫描OK的文件--bell 扫描到病毒文件发出警报声音--unzip(unrar) 解压压缩文件扫描clamscan -r --bell -i / #扫描所有文件并且显示有问题的文件的扫描结果clamscan -r --bell -i / #只显示找到的病毒信息clamscan --no-summary -ri /tmp #扫描homeclamscan --infected --remove --recursive /home
2022年04月09日
806 阅读
0 评论
0 点赞
1
2
...
4