自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 应急响应-Linux(1)

一般系统中马之后会有进程连接黑客的主机,可以使用查看下当前进程的连接,此处查看到没有后 ,可以从系统服务开始查找,系统的服务日志一般都会保存相关访问信息,主要是分析日志SSH首先从ssh日志开始排查,因为这个服务比较重要 ,日志位置**/var/log/secure**,通过关键字failed可以看到服务报错,可能是黑客在爆破密码,从日志可以获取黑客IP。

2024-03-21 10:04:22 228

原创 应急响应-Web2

通过phpstudy查看日志,发现192.168.126.135这个IP一直在404访问 , 并且在日志的最后几条一直在访问system.php ,从这可以推断 该IP可能在扫描网站目录,至于system.php的内容需要进去看代码分析查看system.php发现是木马文件,因此确定攻击者的第一个IP另外一个IP可以通过日志查看器 ——> 远程桌面登录成功日志 查看登录IP。

2024-03-20 22:14:04 701

原创 应急响应靶机-Web1

进入隐藏用户的文件夹,发现名为Kuang的exe程序,程序的logo表明该程序是pyinstaller打包的,所以使用pyinstxtractor反编译,随后使用pyc反编译查看源码。涉及到shell 肯定是web方向,恰好桌面上又有phpstudy,我的思路是先查看日志 日志中会记录很多信息,例如shell的密码(红队攻击后肯定会访问 无非是加密或者未加密 )运气挺好 ,题目也简单 一打开就看到一堆shell的访问日志 左边是用户,此时可以根据日志找文件,同时第二个问题的答案也出现了。

2024-03-20 17:35:20 390

原创 Windows影子账户

影子账户 应急响应

2024-03-18 21:21:29 663 2

原创 计算机网络 1.2.2 1.2.3 OSI参考模型

解决计算机网络的大问题====>分层结构(按功能)OSI七层模型物联网淑慧适用(上四层端到端,下四层点到点)

2022-08-02 01:00:00 546 1

原创 计算机网络 1.2.1 分层结构 协议接口服务

网络体系结构从功能上来描述计算机的网络结构每层要遵循某个网络协议完成本层功能计算机网络体系结构简称网络体系结构,是分层结构计算机网络体系结构是计算机网络各层及其协议的集合第N层向N+1层提供服务,不仅包含第N层本身功能还包含由下层服务提供的功能仅相邻层有接口,且所提供服务的具体实现细节对上一层完全屏蔽体系结构抽象,具体实现=硬件+软件https。...

2022-08-01 20:56:16 462

原创 计算机网络 1.1.4 性能指标

设有1000MB的数据,信道带宽是10Mb/s那么传输完该数据所花费的时间就是800s(1B=8bit)发送时延(传输时延)从发送分组的第一个比特开始算起到该分组的最后一比特发送完毕所需的时间。传播时延=电磁波在信道中传播一定的距离所需要花费的时间(取决于链路长度和电磁波传播速度)计算公式传播时延(s)*带宽(b/s)=时延带宽积(bit)设信道长度1000m电磁波在信道上的传输速率是2*10**8m/s。计算机网络中速率的单位(bit是表示信息的最小单位)...

2022-08-01 20:54:47 361

原创 CTF萌新日记——绕过

CTF萌新日记——绕过

2022-07-19 02:38:02 1003

原创 计算机网络———1.1 计算机网络的概念组成以及分类

计算机网络

2022-07-19 02:29:08 87

原创 requests.exceptions.ProxyError 问题解决

今天做BUU一个文件上传+爆破文件名时爆出以下错误,查阅资料发现是python3.6以后写法不一样ProxySchemeUnknown Traceback (most recent call last) ProxySchemeUnknown老版本的proxyproxy = {'http':'127.0.0.1:8080', 'https':'127.0.0.1:8080'}新版本的proxyproxy = {'http':'http://127.0.0.1:8080', 'https':'h

2021-11-30 09:13:02 4927

原创 Ctfshow Web入门 命令执行 Web31-74

CtfShow Web入门-命令执行感谢Y4师傅!看Y4的Wp真的学到好多!Web31过滤条件: flag\system\php\cat\sort\shell\小数点\空格\单引号执行passthru()查看flag绕过cat使用tac more less head tac tail nl od(二进制查看) vi vim sort uniq绕过空格用%09 <> ${IFS} $IFS$9 {cat,fl*} %20flag绕过可以用通符代替执行echo查看flagecho

2021-10-21 10:57:34 2596

原创 DC1靶机解析+思路

DC系列-——dc1靶机解析确定IP:首先切换网卡到nat模式,再用kali中的nmap工具扫描当前网段的主机,查看开放主机指令:nmap -sS 网段试一下,找dc1的ip打开界面是这样,看到Drupal(一种CMF框架),再使用nmap扫描80端口综合信息查找版本指令:nmap -A -p80 DC1的ip扫描到drupal的版本是7,接下来可以用searchsploit查找对应的漏洞发现有的有rb文件 (rb文件是导入到msfconsole工具中的漏洞模块),查看是否有关于dr

2021-07-13 21:43:47 2328

原创 Ctfshow Web-php特性 web92-web94

web92查看源码,这里只是验证是否有传入参数,参数是不是4476,以及参数取整之后是不是4476这里可以用4476的八进制绕过4476的八进制是010574构造payload: ?num=010574查看到flagweb93审计源码发现好像和原来的差不多,只是多了个过滤a-z,这里还是可以用八进制010574绕过,但是这里要介绍一个新的姿势用小数点绕过构造payload:?num=4476.1web94查看源代码,发现多了一个对数字0的过滤,让用户提交的数据.

2021-07-02 19:08:46 344 2

原创 Ctfshow python for test mysql

import threadingimport requestsurl1 = "http://fe9bdd81-5686-4588-a6b2-37f03fda52f3.challenge.ctf.show:8080/index.php?id=1'/**/union/**/select/**/1,"def dataname(url): c='' for j in range(1,5): for i in range(35,127): ur=ur

2021-06-06 22:46:05 84

原创 Ctfshow web入门-php特性-web89-91 WP

web89查看代码preg_match过滤0-9,即发现有0-9,就输出no no no然而intval函数的作用是返回变量的整数值,两者相互矛盾这里可以通过数组绕过,构造payload: ?num[]=成功获取flagweb90查看源码,第一个if是验证num是否被设置,第二个if验证num是否是4476,如果是,就输出no no no ,第三个if验证num取整后是否等于4476看到取整,还不好做吗~,直接输入小数取整绕过第二个if的验证 payload?num=4476.1

2021-05-25 07:15:11 1033

原创 Ctfshow web入门-web79-web81 WP

web79查看源码发现没有过滤,直接php伪协议包含知识点——php伪协议 ,伪协议有很多,文件包含可以用php://filterpayload: ?file=php://filter/read=convert.base64-encode/resource=需要包含的文件执行,获取到base64加密之后的字符串然后解码web80查看代码,发现str_replace过滤了php,这个可以用大小写绕过,但是这里不推荐,因为能data命令执行知识点——data命令执行: data:text/

2021-05-23 12:37:38 1294

原创 Ctfshow web入门-命令执行web47-50 WP

查看源码发现又是熟悉的黑洞,这题过滤了的参数都可以用以下几个代替tac 代替 cat< 代替 空格‘’分隔 代替 *能代替的新命令被过滤的命令taccat<空格“”*注意:<不能和?连在一起用构造payload: ?c=tac<fla''g.php%26%26lsweb48按照上一题的逻辑,查看有没有我们需要用到的参数被过滤了…仔细分析下来之后发现没有参数被过滤,这个时候就可以复制上一题的payload到本题执行.

2021-05-20 22:36:52 386 1

原创 Ctfshow web入门-web46

web46查看源码,preg_match的过滤又增加了空格和$本来我们对于空格的绕过是${IFS}和%0a,不过preg_match过滤了美元符,用%09也可以绕过preg_match的过滤,虽然对获取到的值有preg_match的过滤,但是preg_match不能过滤这种没有空格的命令,譬如ls,dir,whoami等等,首先执行,查看当前目录底下有哪些文件构造payload: ?c=ls&&ls (&记得编码)成功rce,接下来就是·获取flag,因为源码过滤

2021-05-18 20:30:10 390

原创 个人对部分过滤的见解

关于空格,你需要知道的几件事情:在bash下,可以用以下字符代替空格< 、<>、{ }、%20(空格URL)、%09(tabURL)、`$IFS`、$IFS$9、 ${IFS}注意:代替空格的时候<和?是不能连用的关于分隔:通配符*表示代替所有字符通配符?表示代替一个字符在两个都被过滤的情况下,可以考虑使用‘’,用来代替通配符,但是‘’的作用不是通配,而是分割,因为preg_match过滤的是一个完整的字符串,如果cat fla''g ,函数会觉得是cat fla g

2021-05-18 20:23:00 84

原创 Ctfshow web入门-web45 WP

web45关于黑洞的传送门传送门1传送门2preg_match函数多了对空格的过滤空格可以用${IFS}和%0a代替绕过过滤常规的后面一个变量写入黑洞,直接构造payload:http://9e400eba-95d3-409c-b50a-451ff5a2d4a2.challenge.ctf.show:8080/?c=ls%26%26ls用${IFS}代替空格,构造payload...

2021-05-18 20:12:25 195

原创 Ctfshow web入门-web44 WP

web44preg_match函数多了对flag的过滤,flag可以用通配符绕过过滤system函数还是一如既往的将传入参数的后面一个写入黑洞,不知道如何操作的小伙伴可以查看作者这两篇WP,都讲述了WP的具体用法传送门1传送门2构造payload查看当前目录下的文件http://cd9c951d-4ff3-4a90-ba3e-46bf02d00699.challenge.ctf.show:8080/?c=ls%26%26ls有回显之后查看flag...

2021-05-18 20:06:01 139

原创 Ctfshow web入门-web43 WP

web43查看原码:preg_match 过滤了cat指令,cat指令可以用nl tac等等代替然后system()函数就是常规的命令执行,将输入的变量写入黑洞,这种情况老套路直接双写就可以了关于双写:怕还是有小伙伴不懂,看不懂的小伙伴请看下表2>/dev/null意思就是把错误输出到“黑洞”>/dev/null 2>&1默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出

2021-05-18 19:46:08 431

原创 Ctfshow web入门-web42

web42检查代码,发现代码似乎很简单?只需要输入命令执行,但是实际执行之后的小伙伴会发现如果只是输一个指令,回显都是空白,原因很简单。在给变量c赋值的语句下面的语句”>/dev/null 2>&1“ ,可以将其理解成将输入的数写入黑洞2>/dev/null 意思就是把错误输出到“黑洞”>/dev/null 2>&1默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2

2021-05-18 19:00:31 1173 3

原创 Ctfshow web入门-web39 WP

这题的解题方法和web38是一样的,详情参考我之前的的write up传送门:点击传送i这里只放解题步骤,详细的参考web38

2021-05-18 18:37:25 204

原创 Ctfshow web入门-web38 WP

查看源代码发现对比上一题只是多了对php的过滤,对php的过滤影响到的是data协议rce时<?php语句的构造不过<?php system(‘ls’);?>是可以简写将php省略的 <?php system(‘ls’);> 等于 <?=system(‘ls’);?>这是作者的一个小实验:构造payloadhttp://f5d8e458-5d09-4ed5-aba4-98ddda953a5b.challenge.ctf.show:8080/?c=data

2021-05-18 18:34:00 298

原创 Ctfshow web入门-web37 WP

首先查看源代码代码的意思是文件包含获取到的变量c的值,但是对变量c又有过滤,要求获取到的c中不包含flag这个地方可以用data协议rcedata协议: text/plain,<?php system(‘命令’);?>构造payload :http://1332de51-f763-40f4-b931-c2ffaac051e5.challenge.ctf.show:8080/?c=data:text/plain,<?php system('ls');?>查看当前目录

2021-05-18 18:29:18 431

原创 Ctfshow web入门-web35-36 WP

web35分析源码发现对括号进行过滤,那么只能使用不带括号的函数,include $_POST[a]进行文件包含,看到能文件包含之后,可以尝试使用data协议命令执行,虽然data协议的命令执行写过很多遍了,但是还是再要提一下data:text/plain,<?php system("命令");?>构造payload: ?c=include%a$_POST[a]?> POST:a=data:text/plain,<?php system('tac fla*');?&gt

2021-05-17 23:06:15 355

原创 Ctfshow web入门-web34 WP

web34的套路和web33一样,解题姿势也一样,当然也可以换一种解法,比如说日志包含、文件包含、data协议命令执行日志包含解法:首先查看preg_match函数过滤的参数还是老套路,过滤括号,那么只能用不带括号的函数include了,include $_POST[a]分号被过滤之后可以用?>代替尝试包含日志日志包含成功,接下来就是往日志写马了用firefox访问然后burpsuite抓包,然后再user-agent里面输入一句话木马<?php eval($_POST[a])

2021-05-17 22:55:13 264

原创 Ctfshow web-web31

首先查看源代码,还是preg_match函数,这次过滤了flag|system|php|cat|sort|shell|.| |’这次过滤了以上函数多了对单引号的过滤,单引号的过滤是小问题,因为<?php eval($_POST['a']);?>中单引号是可有可无的<?php eval($_POST['a']);?> = <?php eval($_POST[a]);?>而对于system的过滤,则可以用其他php的命令执行函数代替,比如passthru构造

2021-05-16 20:04:18 313

原创 Ctfshow web入门-web33

Ctfshow web入门-web33 WP拿到url首先分析代码,发现preg_match函数的过滤条件又多了两个/flag|system|php|cat|sort|shell|.| |’|`|echo|;|(|"因为这题和web32一样,过滤了括号,所以有括号的函数肯定是不能用了,只能尝试文件包含,用include函数,payload: http://url/?c=eval($_POST[a])?> 配合POST提交a的数据文件包含成功,用php伪协议查看flag拿到base6

2021-05-13 20:59:53 511

原创 Ctfshow web入门-web30 WP

拿到url首先查看源码,发现源码对比上一题只是多了个对输入值system的过滤preg_match函数过滤system函数,但是php中执行方法的函数有很多,比如passthru、exec,shell_exec等 ,注意exec对执行的结果不输出passthru和system的作用是一样的,解题的姿势有很多,本文简述几种解题方式解法一:这里用exec执行函数,虽然exec对执行结果不输出,但是不代表不可以查看flag,这里用函数执行复制(将flag复制给1.txt,直接用浏览器访问1.txt),

2021-05-13 20:31:51 934 2

原创 Ctfshow web入门-web32

Ctfshow web入门-web32 WP拿到url,首先查看源码过滤了以下字符串flag|system|php|cat|sort|shell|.| |’|`|echo|;|(过滤了空格可以用${IFS}和%0a 代替,分号可以用?>代替但是过滤了括号之后就不能用带有括号的函数,php中include是可以不带括号的函数,和web31一样,这里需要用文件包含所以构造的Payload是payload:http://url/?c=include%0a$_POST[1]?>

2021-05-13 20:24:36 1593

原创 Ctfshow web入门-web29 WP

首先查看代码函数解析:Preg_match是正则表达式,/i是不敏感查找,也就是忽略大小写,该函数在这的作用是检查GET方法传入的值内有没有字符串flag,若没有则执行eval函数Eval 函数执行php方法,比如里面可以执行system()函数,首先传入一个system方法,里面写system(‘ls’);Payload :http://af32ff90-2650-4639-972b-ceffa0baaa3f.challenge.ctf.show:8080/?c=system(ls);接下

2021-05-12 23:08:42 171

原创 Ctfshow web-web6 WP

Ctfshow web-we6 WP进去看见一个login界面,看上去有点眼熟,好像做过,但是尝试之前做过的方法,回显始终是sql infect error,这样的回显表示输入的值中有非法字符,最后尝试下来是空格被顾虑了,用/**/代替原来 union select 1,2,3Web6: union/**/select/**/1,2,3这样的话,传统艺能手工注入判断显示位获取当前连接的数据库获取数据库中所有表的表名:Select table_name from informatio

2021-05-12 20:38:32 392 1

原创 Ctfshow web-web7 WP

首先讲一下数据库的判断基础知识:select ascii(substr(database(),1,1))=119 ;上面这段话的意思,可以分布理解1、 首先是ascii()函数 , 熟悉mysql的应该知道,这是查询字符ascii码的2、A的ascii码是65 a的ascii码是973、Substr()的函数作用是截取,有点类似于limit的作用 Substr(需要截取的字符串,开始位置,截取长度)4、举个例子,当前我选中mysql数据库,尝试用select substr

2021-05-12 19:37:01 440 1

原创 CTFshow web-web3 WP

CTFshow Web-Web3文件包含+命令执行(伪协议)Php://filter/read=convert.base64-encode/resource=文件名用php伪协议读取经过base64加密之后的文件php://inputphp://input可以访问请求的原始数据的只读流,将请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。注:当enctype=”multipa

2021-05-11 21:01:03 658

原创 CtfShow web-web4 WP

进入WEB4 发现好像和 web3差不多,尝试文件包含可行,但是用php://input 回显就不可行了,接下来尝试包含日志用burp suite抓包发送到repeater ,在url后面加上/var/log/nginx/access.log(nginx访问日志)可以看到回显的内容中有http user-agent,接下来将一句话木马写入到user-agent中,在user-agent后面加上一句话木马,密码是a <?php @eval($_POST[‘a’]);?>接.

2021-05-11 20:56:24 239 2

原创 CtfShow web-web5 WP

首先看到的是代码代码中打红框的一段是要重点关注的1、 GET方式,分别将收到的v1 v2 赋值给v1 v22、 If判断 isset判断是都有值,变量是否设置值3、 第二个if是判断v1的值是不是md5,ctype_alpha 判断变量是不是有英文字母,因为md5肯定是有英文字母的4、 第三个if是判断v2的值是不是纯数字5、 第四个if用于判断v1的值是不是等于v2 ,在md5中0e开头的值,默认是相等的,v1是字符 v2是数字,可以理解成md5碰撞举个例子 QNKCDZO 和 24061

2021-05-11 20:24:44 200 3

原创 Ctfshow web-web2 WP

Ctfshow-Web-Web2 WPCtfshow Web2 手工1、 尝试万能密码然后尝试查看显示位查看当前连接的数据库查询当前数据库下面的表面名接下来查询字段名最后查询flag上面是手工爆破,要点是查询数据库内的表名和数据库内的字段名查询数据库内所有表名的语句:select table_name from information_schema.tables where table_schema=“你想查找的数据库名”查询表中所有字段的语句:select column

2021-05-10 23:03:19 590 1

pyinstxtractor

pyinstxtractor

2024-03-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除