python 重定向 ctf_3.CTF——python利用工具

web AWD 攻与防

CTF线下赛主要考察代码审计能力及运维能力,代码审计发现漏洞,python写利用漏洞,运维发现可疑攻击目标,异常流量,异常权限,重要业务备份与还原。用运维的知识加固系统与业务。当被人攻击以后,不要慌。分出一个人查流量,另一个人继续审计代码,挖掘漏洞才是最重要的攻击源。实在发现不了漏洞时,改变策略,把精力重心移到流量上来。

web的漏洞利用

你已经通过代码审计定位到了这个漏洞,要去利用它。

一般都是通过特定的URL去触发这个漏洞。所有的web漏洞都是这样子的。

这个时候,怎么用python去写呢?

比如挖出了一个web利用摄像头的漏洞:发一个特定的URL,通过URL的返回,在它的cookies里面能够查到它的一个明文账号密码。

构造这个特殊的URL

怎么知道这个特殊的URL是什么呢?这需要在挖漏洞里下功夫了,这里是一个文件包含漏洞,这个地址把账号密码传到一个文件里面做认证,把认证的结果又返回给这个URL。

摄像头页面是这个公司写的,而做密码验证的是另一个公司写的。摄像头公司的人以为把账号密码发给另一个公司就可以做验证了,而另一个公司不仅把密码验证了,还把真正的密码给返回给摄像头的公司。在两个公司的交互过程中,漏洞就发生了。我们知道这个大前提,再配合挖掘漏洞的知识,这个特殊的URL就被我们构造出来了。

大部分都是怎么构造一个request请求包,解析返回包。

细节代码需要自己去收集攻击框架。比如,全场开火脚本:exploit_all.py

token(自己队伍的标识):你打了别人,拿到了flag,主办方怎么知道是谁提交的flag呢?把flag和token做一个运算。

全场攻击的host和port从哪里来?

读取targets文件来的,文件里面的格式为 IP:端口

比赛环境

linux运维

运维流程-SSH

如果主办方没有给私钥,尽量尝试配公私钥登录

禁止密码登录并配置公私钥登录(没绝对把握,仅把密码改了就可以,不用配置禁止密码登录,修改密码用passwd 用户名)

密钥登录

编辑sshd_config文件

vi /etc/ssh/sshd_config

禁用密码验证

PasswordAuthentication no

启用密钥验证

RSAAuthentication yes

PubkeyAuthentication yes

指定公钥数据库文件

AuthorsizedKeysFile .ssh/authorized_keys

也可以这样改

重启SSH服务前建议多保留一个会话以防不测。

linux很难出现远程溢出漏洞,很少有人掌握这个漏洞,非常少见。能进来的大多数要靠暴力猜解。

因为我们现实中,大多数使用一个SSH管理工具(SecureCRT)的一个小软件来连接linux业务环境进行工作的。

如果控了他windows机器,通过对windows攻击(如木马)就可以拿到linux业务管理环境的密码。

我们如何防止木马拿到密码呢?这个时候就可以配公私钥,用私钥去登录。你监听吧,咱不输入密码了。嘿嘿。

主机右键--去掉其他钩,留下私钥认证--加载私钥文件。这种登录方式是非常安全的。如果你使用这种方式登录,别人不可能拿到你的私钥的。私钥是与本地绑定的,送给他都没关系,不要怕。

细节可以直接搜索: SSH公钥登录

私钥长什么样子的呢?来,亲。你慢慢去猜解密码吧。

公钥批量写入

nmap扫描22

hydra SSH爆破 -user 用户名文件 密码文件 -p

字典生成工具 crunch

web源码备份

crontab -l 查看计划任务 crontab -e 编辑

ctl+o保存 ctl+x退出

人家给你加一个网马,加一个哈希值,你知道有网马但是找不到。

1.初始化 2.对比,哪些文件是新增的

数据库备份

虚拟机的快照是直接把内存 dump下来了

不要把3306留在网上,不要远程去维护,关掉远程维护的配置

不管用VPN也要其他的也罢,只要你的数据库留在网上,端口爆出来。VPN只是传输安全,但是人家用你的密码去登陆也是一样的。你知道VPN相对安全,但你不知道自己的电脑是否有问题。另外,不管是VPN还是什么,它们都会被别人远程爆破掉。

网线拔掉,电源关掉的电脑最安全,其他的地方你不能这样做,但是数据库你可以这样做,没有任何远程管理的需求。

数据库降权

你的数据库没有开远程,但是别人通过其他端口进入了你的系统,把你的数据库给爆出来了,而你压根就用不上那么高的权限,运行数据库的时候,难道要给它一个root权限吗?这个时候就要降权,把账号也绑定到只能本地登陆。这个时候,别人怎么样都无法通过远程来访问你的数据库了。

这里的dog是在调戏别人,别人在攻击你的数据库时会扫描数据库的名字。他看见你的数据库名字是dog,密码是123456,也进不来,只能本地登陆。

本地:不是说到机房,是不把数据库的端口给外面提供。在虚拟机可以登陆数据库,而母体机无法登陆数据库。通过SSH连到虚拟机里面,再去登陆数据库。也算是本地登陆。假设绑定的为linux登陆数据库,那么我们用SSH远程连接linux就可以了。而连接linux的又是公私钥的方式,还是本地绑定的。你种木马也没用,爆破更不可能。完美。

linux服务器权限管理

权限配置

对于非必须可写的目录

权限设置755,拥有者设为非www-data用户;从而防止文件被篡改/删除

对于必须可写的目录

根据服务器类型,上一个.htaccess,或者修改nginx的目录配置文件,去除此路径的脚本执行权限

防御脚本 都是用python写的 python做安全运维很有优势

waf

文件监控 watch python 脚本

监控到别人上传的Helloworld文件

我们发现这时,如果把监控记录重定向文件里面,就变成监控日志了。保护好这个监控日志。

通过一句话给自己一个apache的权限,因为别人在攻克你服务器的时候,拿到的权限也是apache的权限,自己把自己的程序杀掉。如果你用比较低的权限去运维,你连别人运行的木马都杀不掉。

这也是为什么,你用的windows系统中,删除不了文件的原因,你的权限不够。最高的权限是system权限,不是admin。

网络拓扑扫描

如果你是防御的,你要查看一下内网中其他机器的防御机制;如果你是做攻击的,你要查看一下其他机器的薄弱点。

如果你队友的机器很薄弱,可以屏蔽了他,别人从他那里下手无法攻击到你这边。攻击者会寻找最薄弱的地方,当成一个跳板机来对你下手。

为什么外网端口强,内网就不强了呢?有些端口会开放到外网上,有些端口会开放到内网中。如内部的FTP,SMB等。外部端口一般漏洞少,内部端口往往存在大量漏洞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站首页幻灯片

Js页面: View Code /** * 大眼睛广告轮播 */ var indexEye {autoTime: 0,init: function () {var eyeObj $("#dyj_pics a:eq(0) img:eq(0)");eyeObj.attr("src", eyeObj.attr("data-imgSrc"));eyeObj.load(function () {indexEye.autoTime se…

【java】错误 找不到或无法加载主类

很诡异,class文件夹下的class文件没有了,删除文件夹 ,重新编译下。。。转载于:https://www.cnblogs.com/merlini/p/3892719.html

Qt之QAbstractItemView视图项拖拽(二)

一、需求说明 上一篇文章Qt之QAbstractItemView视图项拖拽(一)讲述了实现QAbstractItemView视图项拖拽的一种方式,是基于QDrag实现的,这个类是qt自己封装好了的,所以可定制性也就没有了那么强,最明显的是,这个类在执…

电脑控制苹果手机_必备神器,电脑控制手机

序一款电脑端的神器,它可以任意的操纵你的手机。****QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备,并进行显示和控制。不需要root权限。单个应用程序最多支持16个安卓设备同时连接。同时支持GNU/Linux,Windows和MacOS三大主流桌面平台。…

php未定义要怎样做,php-Behat-未定义的功能步骤

我设置了一个简单的测试场景来学习behat,但是我遇到了一些问题.我正在关注THIS教程.这是我的专题节目:Feature: showThis is a behat feature to test the article pages.##TODOScenario: I want to view a detailed article pageGiven I am logged inAnd Im on &qu…

CentOS 命令大全 (转)

1、查看系统使用端口并释放端口 [rootmy_nn_01 WEB-INF]# lsof -w -n -i tcp:80 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME java 24065 root 34u IPv6 269149 TCP *:http (LISTEN) [rootmy_nn_01 WEB-INF]# kill -9 24065 2、以KB/MB形式显示文件列表…

微信接口改良

之前公司微信开发的时候 写了个微信的接口改良版,当然好多想改进的都没改。。大概是太懒了 (囧 /*** Created by DFH on 13-12-16.*//*--htmlvar shareData {//分享展示图片地址 **必须"imgUrl": "a.jpg",//分享至朋友圈链接 **必须&q…

生活大爆炸版石头剪刀布

题目描述 Description石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头剪刀布游戏的基础上&…

oracle18c卸载方法,在debian 10上安装和卸载oracle数据库快捷版18c第4版

安装oracle-xe-18c的步骤此安装向导依赖软件包alien。由于oracle并未提供oracle-xe-18c的deb包,故需要通过alien命令将oracle-xe-18c的rpm格式的安装包导出新的deb格式的安装包:sudo alien --scripts -d oracle-database-xe-18c-1.0-1.x86_64.rpm相应rpm…

解决:缺少aclocal、autoconf、automake

下载三个包:autoconf-2.68.tar.bz2、automake-1.11.1.tar.bz2、m4-1.4.14.tar.bz2 1、su - root 2、tar xjf XXXXX.tar.bz2 3、cd m4/ 4、./configure make make install 5、cd autoconf/ 6、./configure make make install 7、cd automake/ 8、./configure…

jquery事件 on(),live(),delegate(),blind()

jQuery推出on()的目的有2个,一是为了统一接口,二是为了提高性能, 所以从现在开始用on()替换bind(), live(), delegate吧。 尤其是不要再用live()了,因为它已经处于不推荐使用列表了[1.7已经被删除]。 如果只绑定一次事件&#xff…

Swift 开发的工具类,主要是提供正则表达式及其它,Github会长期维护

直接访问 GitHub 看代码 YYGRegular 我是: 语歌复制代码It is a regular expression used on iOS, which implement by Swift 这是一个基于swift快捷开发的扩展类,目前的涵盖内容包括详细打印,正则表达式,会经常维护 介于是增加更…

用python庆祝生日_生日到底该过阴历还是阳历好呢?不是迷信,都怪我们大意!...

过生日到底该过阴历还是阳历?答案说出来你可能都不信在我们国家,过生日有两种不同的方式,因为有两种不同的日子的计算方式,分为阴历和阳历。一般来说,在农村和一些比较落后的地方,人们习惯于用阴历来计算生…

websphere jndi oracle,websphere7.0获得JNDI连接报invalid username/password

Exception in thread "P497968:O0:CT" java.sql.SQLException: ORA-01017: invalid username/password; logon deniedDSRA0010E: SQL 状态:72000,错误码:1,017at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapp…

WSS3.0自带数据库可以使用SQL 2005 Server Management Studio来管理

默认情况下,安装完WSS3.0后,会自动安装一个自带的SQL Server 2005 Embedded Edition数据库,但是此数据库却没有管理工具,不像安装SQL 2005其它版本会有管理工具。如果你要管理数据库,这时怎么办呢。经过俺试了一上午了&#xff0c…

CPU的高速缓存存储器知识整理

基于缓存的存储器层次结构 基于缓存的存储器层次结构行之有效,是因为较慢的存储设备比较快的存储设备更便宜,还因为程序往往展示局部性: 时间局部性:被引用过一次的存储器的位置很可能在不远的将来被再次引用。 空间局部性&#x…

uniapp光标自动定义到文本框_word技巧自动生成毕业论文目录

一篇word文档,内容有大的章,小的节。如何把章节抽出来生成目录?WORD →点击需要插入的地方 → 插入菜单 → 索引和目录 → 目录 → 确定。1 创建标题目录Word 一般是利用标题或者大纲级别来创建目录的。因此,在创建目录之前&#…

JSTL

2019独角兽企业重金招聘Python工程师标准>>> 说明 JSTL 是 JAVA 中的一个定制标记库集。实现了JSP页面中代码的复用,增加了JSP页面的可读性,方便查看和参与开发 使用 1.下载地址 http://archive.apache.org/dist/jakarta/taglibs/standard/bi…

[jQuery] event.stopPropagation()报错

使用jQuery给一个事件加处理方法时,为了阻止一个事件向上冒泡,使用了event.stopPropagation(),但在IE下却报对象不支持此属性或方法的错误(IE下是event. cancelBubbletrue),jQuery不是兼容各浏览器吗&#…

中科燕园arcgis外包----排水管网地理信息系统

项目背景 绍兴县是浙江省第一个“数字城管”试点城市,也是全国第一个“数字城管”县级城市。随着经济的飞速发展、城市化步伐的加快,以及城市规模的扩大和现代化程度的不断提高,作为城市重要基础设施的城市地下管线也越来越庞大、密集&#x…