自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 【小迪安全】2024版笔记-第一天(web应用&架构搭建&站库分离&路由访问&配置受限)

上面讲的网站搭建方式比较复杂,需要自己单独安装服务器数据库之类的软件,目前主流的方式是直接使用集成软件(比如宝塔https://www.bt.cn/,你可以尝试购买阿里或者腾讯的云服务器,云服务商提供宝塔面板,搭建起来比较方便。①在绑定域名的过程中,会让你选择不同的源码。这里迪总的意思是,在挖src的时候,大概估计一下目标的能力,可能会采用那种方式来写源码,一般大公司可能自己招人写源码,而不会使用网上的开源代码,难度相对来说比较大,针对这种情况需要自己积累经验。不过关系不大,大家体会一下意思就行了)。

2024-12-07 10:18:49 1058

原创 Linux Shell脚本自动化编程实战【1.4 shell特性 Login Nologin】

2044 #2044是执行history的第n条命令。4.alias 查看当前shell的别名。$代表了上一条命令的最后一个参数。shell 是用户执行的第一个程序。#再次执行上一条命令。5.ctrl+d 退出当前用户。ctrl+k 删除光标之后的。ctrl+u 删除光标之前的。ctrl+a 光标移到最前。ctrl+e 光标移到最后。

2022-09-13 16:13:29 637

原创 Linux Shell脚本自动化编程实战【1.3 bash中调用python expect】

对于bash和./ 执行sh脚本,会在子shell中执行,所以当前路径不会改变。对于. 和source执行sh脚本,会在当前shell中执行,所以路径会改变。1.将python代码交给python解释器来执行。,可以使得结束标志前能够加空格或者tab。在bash中调用python。2.EOF只是一个标记,换成。

2022-09-13 15:04:26 604

原创 Linux Shell脚本自动化编程实战【1.2 java python shell执行方式对比 】

每一个命令都有一个返回值,如果执行成功,返回0,如果失败就返回非0。如果使用./ping01.sh执行脚本需要相应的权限。python-解释-/usr/bin/python。&& 前面一个命令执行成功之后才能执行后面的命令。没有指定什么解释器,就按照shebang指定的来。shell-解释-/usr/bin/shell。只是一个命令的排序,前后执行成功没有关系。java-编译-字节码(java虚拟机)创建一个ping01.sh脚本文件。C-编译-二进制机器码。

2022-09-13 14:41:15 347

原创 Linux Shell脚本自动化编程实战【1.1 1.2 shell能做什么】

千峰教育 linux shell编程

2022-09-13 10:17:12 729

原创 “百度杯”CTF比赛 九月场-web-Code

i春秋平台上有环境打开之后是一张图片,查看网页源码,发现图片的src后面跟了一大堆base64,这种格式在Data URI scheme有规定。关于Data URI scheme,可参考这篇文章图片的base64不用拿出去解码,因为是图片的二进制表示,所以解码也没有意义。既然请求可以获取图片,这有点像ssrf,那么能不能请求一些敏感的文件呢?首先请求index.php,?jpg=index.php,发现是有数据的,base64解码得到如下代码,注释如下<?php/** * Create

2021-05-30 14:32:27 314 1

原创 bugku-web20

攻防世界竟然挂了·····转战bugkuweb20,这个题还是有点意思。首先url为http://114.67.246.176:16805/index.php?line=&filename=a2V5cy50eHQ=然后里面的内容一看就是乱写的。这个时候注意url,line字段没有输入参数,filename字段用base64编码,我们先把filename解码看看为keys.txt,猜测现在显示的内容为keys.txt里面的内容。后面就没思路了。。。。随便试试直接访问index.p

2021-04-30 23:02:00 175 2

原创 攻防世界-web-mfw

开始没有什么思路,参考网上别人的wp,首先提到的一个点就是源码泄漏摘自https://lddp.github.io/2018/05/10/WEB-%E6%BA%90%E7%A0%81%E6%B3%84%E6%BC%8F/关于源码泄漏,这位师傅已经总结了。然后是git源码泄漏,用GitHack-master下载下来之后,可以看到源码。先来看index.php<?phpif (isset($_GET['page'])) { $page = $_GET['page'];} else {

2020-11-18 22:30:38 335

原创 攻防世界web-shrine

一道ssti题目打开之后显示源码,整理一下import flask import os app = flask.Flask(__name__) app.config['FLAG'] = os.environ.pop('FLAG') @app.route('/') def index(): return open(__file__).read() @app.route('/shrine/') def shrine(shrine): def safe_jinja(s):

2020-11-16 22:39:06 223

原创 攻防世界-web-NaNNaNNaNNaN-Batman

下载下来是一个文件,用编辑器打开发现是js代码,但是里面有乱码,将eval改成alert,弹出function $(){var e=document.getElementById("c").value;if(e.length==16)if(e.match(/^be0f23/)!=null)if(e.match(/233ac/)!=null)if(e.match(/e98aa$/)!=null)if(e.match(/c7be9/)!=null){var t=["fl","s_a","i","e}"];va

2020-09-24 16:41:11 124

原创 攻防世界-web-Web_php_include

<?phpshow_source(__FILE__);echo $_GET['hello'];$page=$_GET['page'];while (strstr($page, "php://")) { $page=str_replace("php://", "", $page);}include($page);?>源文件中用strstr过滤掉了php://,但是strstr区分大小写(可以mark一下,过滤的方法之一就是看是否大小写敏感)。然后用postman POST

2020-09-23 21:53:49 127

原创 攻防世界-web-Web_php_unserialize

还是反序列化问题,先看题目<?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file($this->file, true); } function __w

2020-09-20 20:08:45 199

原创 攻防世界-web-unserialize3

首先看题目:class xctf{public $flag = '111';public function __wakeup(){exit('bad requests');}?code=题目给的提示已经很明显了,是php的反序列化漏洞。首先补充一下序列化和反序列化的相关知识,序列化和反序列化可以简单理解为一个打包和解包的过程(个人理解),就是通过这一过程将一个东西转变成另外一种形式(本质是一样的),这样转换的目的是便于传输或者有其他功能。在php中,序列和和反序列话有两个函数如下:ser

2020-09-20 10:39:15 438

原创 攻防世界-web-NSCTF-web2

这个题目没啥好说的,就是考察了一下php代码,加密算法也很简单,直接贴出来了。<?php $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){ $_o=strrev($str); // echo $_o; for($_0=0;$_0<strlen($_o);$_0++){ $_c=su

2020-09-16 20:08:39 240

原创 攻防世界WP-web-supersqli

这是一道sql注入的题目。首先在输入框输入1和2,能够分别返回查询数据。可以看到url为http://220.249.52.133:31003/?inject=1,初步推断inject为注入点。我们输入1',报错。之前有考虑用sqlmap来做,但是没做出来= = ,网页源代码里面也有提示<!-- sqlmap是没有灵魂的 -->,但是从sqlmap的结果可以知道,使用的database为supersqli尝试手工注入。...

2020-09-16 19:42:17 373

原创 攻防世界WP-crypto-ISCC-2017-告诉你个秘密

附件是一个txt文档,里面的内容是636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A5769426961453067一看是十六进制,先转成ASCII码a = [0x63,0x6A,0x56,0x35,0x52,0x79,0x42,0x73,0x63,0x44,0x6C,0x4A,0...

2020-04-26 09:32:53 802

原创 攻防世界WP-reverse-湖湘杯2018-Replace

首先查壳,upx壳,直接upx -d脱掉。放入ida,查看伪代码,结构比较简单就不多说了。关键是下面这个函数,return 1,则成功。signed int __fastcall sub_401090(int a1, int a2){ int v2; // ebx int v4; // edx char v5; // al int v6; // esi int v7; ...

2020-04-25 11:46:10 4804

原创 攻防世界WP-reverse-school-ctf-winter-2015-parallel-comparator-200

这个题目直接给了C的源码,引入了pthread.h库,所以我们在linux下编译运行。gcc test.c -o test -lpthread其实编译运行也行。直接看源码。#include <stdlib.h>#include <stdio.h>#include <pthread.h>#define FLAG_LEN 20void * chec...

2020-04-23 15:29:16 236

原创 滴水逆向win32学习笔记1

滴水逆向win32学习笔记一、字符编码基本介绍关于utf-16、utf-8和unicode的关系BOM头二、宽字符基本介绍常用函数三、Win32 API中的宽字符什么是win32 APImessagebox函数一、字符编码基本介绍首先介绍了ASCII码,但是除美国外还需要显示其他字符,所以在ASCII码扩展表的基础上引入了GB2312之类的编码。由于每个国家有自己的一套扩展表,所以还是会出现...

2020-04-21 18:10:16 1287 1

原创 攻防世界WP-reverse-school-ctf-winter-2015-simple-check-100

内有三个文件,一个exe,两个elf。其中exe有坑,ida伪代码后有一个参数和解md5有关,但是又解不出来。所以直接看elf文件。关键函数为interesting_function((__int64)&v7);int __fastcall interesting_function(__int64 a1){ int *v1; // rax unsigned int v3; /...

2020-04-20 09:54:13 372

原创 攻防世界WP-reverse-alexctf-2017-re2-cpp-is-awesome

废话不多说,无壳直接拖入IDA。关键代码 for ( i = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::begin(&v11); ; sub_400D7A(&i) ) { v13 = std::__cxx11::bas...

2020-04-19 09:43:37 272

原创 攻防世界WP-reverse-tinyctf-2014-tt3441810

可以看到是一个plain text。用ue打开然后看看这些数对应的ASCII码是多少。a = [0x68,0x66,0x6C,0x00,0x00,0x48,0xBF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x8D,0x34,0x24,0x48,0xBA,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,...

2020-04-19 09:21:01 447 1

原创 攻防世界WP-reverse-BUUCTF-2019-Mysterious

直接看伪代码GetDlgItemTextA(hWnd, 1002, &String, 260); strlen(&String); if ( strlen(&String) > 6 ) ExitProcess(0); v10 = atoi(&String) + 1; if ( v10 == 12...

2020-04-18 16:17:22 713

原创 攻防世界WP-reverse-re1-100

ELF文件。F5查看伪代码(感觉没有伪代码就不行关键的地方贴出来。if ( numRead ) { if ( childCheckDebugResult() ) { responseFalse(); } else if ( bufParentRead[0] == 123 ) { ...

2020-04-18 10:42:07 276

原创 Base64编码与解码(含C++代码)

上午做了一个逆向的题目,有一个函数看了半天没看明白,后来一查WP,才知道是BASE64解码。所以将BASE64编码与解码的过程自己整理整理。Base64编码与解码编码原理C++代码实现编码原理比如我们需要对字符串abcd进行BASE64编码,我们可以直接搜索一个编码网站,得出结果是YWJjZA==。下面我们看看具体算法是如何操作的。首先将abcd转成ASCII码对应的二进制表示形式...

2020-04-17 10:10:43 1335

原创 攻防世界WP-reverse-suctf-2016-srm-50

这个题目很简单直接贴上部分伪代码GetDlgItemTextA(hDlg, 1001, &String, 256); GetDlgItemTextA(hDlg, 1002, v11, 256); if ( strstr(&String, "@") && strstr(&String, ".") && strstr(&Str...

2020-04-16 10:14:45 265

原创 攻防世界WP-reverse-Reversing-XCTF 3rd-GCTF-2017-hackme

其他的不说了,查看伪代码__int64 sub_400F8E(){ char v1[136]; // [rsp+10h] [rbp-B0h] int v2; // [rsp+98h] [rbp-28h] char v3; // [rsp+9Fh] [rbp-21h] int v4; // [rsp+A0h] [rbp-20h] unsigned __int8 v5; // ...

2020-04-15 17:53:08 399

原创 攻防世界WP-reverse-Reversing-x64Elf-100

无壳,64位elf程序。直接拖入IDA。发现Nice字符串,双击进去。F5查看伪代码。signed __int64 __fastcall main(__int64 a1, char **a2, char **a3){ signed __int64 result; // rax char s; // [rsp+0h] [rbp-110h] unsigned __int64 v5; /...

2020-04-15 11:13:11 272

原创 攻防世界WP-reverse-getitcsaw2013reversing2

打开之后弹乱码第一步还是查壳,没有。第二步拖入IDA,直接看伪代码吧int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ int v3; // ecx CHAR *lpMem; // [esp+8h] [ebp-Ch] HANDLE hHeap; // [esp+10h] [eb...

2020-04-14 11:45:02 197

原创 攻防世界WP-reverse-SharifCTF 2016-getit

这个题目也属于新手入门区,但是卡在一个地方不懂,就是伪代码中的几个参数,后来去看别人的WP,才知道。如下所示:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // al __int64 v5; // [rsp+0h] [rbp-40h] int i; // [rsp+4h] [rb...

2020-04-14 09:01:11 512

原创 攻防世界WP-reverse-RC3 CTF 2016-logmein

logmein直接看算法注意代码直接看算法因为比较简单所以我们直接看F5后的伪代码void __fastcall __noreturn main(__int64 a1, char **a2, char **a3){ size_t v3; // rsi int i; // [rsp+3Ch] [rbp-54h] char s[36]; // [rsp+40h] [rbp-50h]...

2020-04-13 10:59:28 486

原创 攻防世界WP-reverse-simple-unpack

这个比较简单就简单写点吧第一步还是查壳upx壳,在upx的官网下载程序,然后程序里面附有文档。用upx -d来脱壳。脱壳完成之后拖入IDA,flag字符串能够直接看到。没了。...

2020-04-13 09:47:54 920

原创 攻防世界WP-reverse-SHCTF-2017-crackme

SHCTF-2017-crackme1.查壳2.用OD脱壳3.找到算法4.写解密程序总结1.查壳发现是nsPack壳,这个脱壳的原理我不是很清楚,照着网上一步步做就成功了,具体细节以后再研究。2.用OD脱壳网上说的ESP定律什么的,下硬件断点,F5,来到这里这个地方有点没搞清楚的是,OEP为什么在第一个JMP之后,也就是图中00401336的位置。注意,下面的操作是错误的,我开始看到了p...

2020-04-11 11:23:36 571

原创 攻防世界WP-reverse-IgniteMe

菜鸡刚学reverse,欢迎高手拍砖。也算是第一次真正做这类的题目,把wp写下来。这是一道攻防世界的re题目。题目地址第一步,首先看这个程序有没有加壳,拖入exeinfope,知道 Not packed。第二步,拖入IDA,直接shift+f12我们从Congratulations!字符串点进去。然后ctrl+x,查看交叉引用。3.F5大法F5直接查看伪C代码,这一步就是看看算...

2020-04-02 18:11:01 378

WebGIS之OpenLayers全面解析源码亲测可用

《WebGIS之OpenLayers全面解析》这本书的源码,亲测有效!!!里面包含两个压缩包,其中一个为数据库文件

2018-05-13

空空如也

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

TA关注的人

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