- 博客(22)
- 收藏
- 关注
原创 BUUCTF [RoarCTF 2019] Easy Java1
在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。防范:一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,解决方法是修改Nginx配置文件禁止访问WEB-INF目录就好了: location ~ ^/WEB-INF/* { deny all;漏洞利用:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。查看web.xml文件,来寻找class文件的位置。
2024-06-23 16:24:18
292
原创 BUUCTF [CISCN2019 华北赛区 Day2 Web1] Hack World
payload 变量:构造了一个 SQL 注入 payload,使用 substr() 函数逐个提取 flag 的字符,并通过 ascii() 函数转换为 ASCII 码值,然后与 j 比较。#外层循环 (for i in range(1, 50)):循环遍历 flag 的每个字符位置,假设 flag 最长为 50 个字符。#内层循环 (for j in range(32, 128)):循环遍历 ASCII 字符集中的可打印字符(从空格到 '~')。4、因此可以尝试通过布尔盲注的方式来得到flag。
2024-06-23 15:52:24
360
原创 BUUCTF [网鼎杯 2020 青龙组] AreUSerialz1
(2)对于FileHandler类,由于在反序列化中,先调用__destruct()析构方法,所以需要设计op的值绕过与 "2" 的强相等。(3)所以当op = 2时,一方面利用弱相等,可以调用read()方法和output()方法,另一方面也可以绕过强相等,避免执行在__destruct()时 op 赋值为 1。(1)get传参 "str",string转化为字符串,用 is_valid() 函数来进行过滤,要求传入的字符串的每一位字符的ASCII码都在32~125之间。1、阅读题目:php绕过类型。
2024-06-19 17:26:17
225
原创 BUUCTF [极客大挑战 2019] HardSQL 1
原因:在输入' 或者 # 号时,'会被识别出来过滤掉,#会注释掉后面的内容,因此要进行url编码。在该题目中,双写被过滤掉了,同时空格,=,union也被过滤了。或者, payload为: 用 ^ 符号代替 or。1、阅读题目,是SQL注入的题目类型。2、尝试万能密码和堆叠注入,均被过滤。
2024-06-18 16:59:41
243
原创 BUUCTF [护网杯 2018] easy_tornado1
Handler指向的处理当前这个页面的RequestHandler对象,handler是RequestHandler的别名,而上面又提到RequestHandler.settings是self.application.settings的别名。2、render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,即可进行SSTI模板注入或者XSS注入。(4)访问出错后出现如下界面,输入{{1}},测试得出存在SSTI模板注入漏洞。
2024-06-18 14:37:36
320
原创 BUUCTF [极客大挑战 2019] BuyFlag1
strcmp比较的是字符串类型,如果强行传入其他类型参数,会出错,出错后返回值0,正是利用这点进行绕过。在这道题目中,传入money[]=1可以使得该函数报错,但返回结果为真,所以可以绕过。2、查看源码,发现解题线索,post传参方式,传入参数money和password的值正确即可解出flag。(1)在该题中需要修改Cookie: user=1 原因:user=1代表为可新用户。1、查看题目,在PAYFLAG目录中发现与flag有关。(2)bp进行POST传参时需要在两个位置进行修改。
2024-06-12 19:55:27
191
原创 BUUCTF [RoarCTF 2019]Easy Calc1
(3) 由于num被过滤, 因此根据php解析规则,可以将(num)改写为( num),waf在过滤时不会发现num,但是php在解析时" num"和"num"无区别,这样就可以传入查寻字符串了。(6) 又由于scandir("/")扫描后是以数组的形式输出,所以要利用var_dump() 或者 print_r()来对内容进行输出。num=scandir(chr(47)),利用" / "该符号的ASCII来进行转化。(4) 可以通过scandir("/")来扫描整个根目录,scandir()函数相关知识。
2024-06-11 18:06:00
490
原创 BUUCTF simplerev
1、使用IDA打开simplerev文件,查找函数,进入如下函数:发现flag关键字。4、查看key1 和 key3的值:得出v0和key的值。2、将src和v10还原成字符,按R键。
2024-05-05 13:21:57
233
原创 BUUCTF 新年快乐
如果用户输入的标志与预定义的标志相同,则输出 "this is true flag!2、接着用IDA打开脱壳后的文件,查看String窗口,发现了flag关键字。: 如果用户输入的标志与预定义的标志不同,则输出 "wrong!数组的内容全部设置为 0,长度为 0x1E (30) 个字节。,该函数在这段代码中没有显示出来,可能在其他地方定义。: 这是一个函数声明,表示定义了一个返回整数的函数。: 输出提示信息,要求用户输入正确的标志。,这个值表示用户输入的标志是否正确。个字符相同,则执行下面的代码。
2024-04-27 10:47:58
301
原创 BUUCTF XSS闯关1
使用'1闭合后面的单引号,当然也可以使用"//"将其注释,最终 username = alert(1);这段代码是一个简单的JavaScript脚本,其中包含一个alert函数调用,用于显示一个弹出框,内容为"xss"。javascript:alert(1),浏览器会把javascript后面的内容当做代码执行,直接在当前页面执行。所以执行:autosubmit=1&action=JavaScript:alert(1);
2024-04-18 17:59:14
1849
1
原创 BUUCTF afr_31
使用python3 ./flask_session_cookie_manager3.py encode -s "Drmhze6EPcv0fN_81Bj-nA" -t "{'n1code': '{{''.class.mro[2].subclasses()[71].init.globals['os'].popen('cat flag.py').read()}}'}" 进行伪造。(2)name=../../../../../proc/self/cwd/server.py (最后的py文件可以改变)
2024-04-17 15:13:22
382
原创 BUUCTF 粗心的小李1
最后使用git reset --hard 213b7e386e9b0b406d91fae58bf8be11a58c3f88 将文件还原到该文件夹内,出现一个html文件。然后在下载的文件内打开终端,使用git log命令,发现flag。1、审题,发现是 .git泄露的问题。
2024-04-14 19:48:06
190
1
原创 BUUCTF-[极客大挑战 2019]Http1
比如我在www.sojson.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=https://www.sojson.com。中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及浏览器版本、浏览器渲染引擎、浏览器语言、浏览器插件等。Referer 常用在防盗链和防恶意请求中。提示我们要使用的浏览器为:Syclover。
2024-03-14 15:30:33
385
1
原创 BUUCTF-LoveSQL1
构造新的payload:username=adminn ' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1。(2)测试了几次到100也没有爆出字段,也将#进行了url编码,更换万能账户再次测试,测试成功。(1)在成功登录的基础上使用联合注入语法知识进行,首先使用 order by 判断字段数。表爆出成功,发现两个表名。
2024-03-13 22:18:01
1641
原创 BUUCTF-Secret File
构造payload:?对secr3t.php进行访问发现了flag的位置,并发现了传输参数的方式为get传参。打开题目没有任何可用信息,查看源码:发现一个php有点可疑,访问进入下一个页面。在bp抓包后,将内容发送到Repeater板块,拦截发现一个secr3t.php。file=flag.php ,发现flag不可见。判断应该是隐藏在了SCRET的这个页面中。
2024-03-13 14:58:12
400
原创 BUUCTF-Easysql(另一个题目)
因而也就要满足:select 输入的内容 || 一个列名 from 表名(select 输入数据 || flag from Flag)。注:这里的逻辑是先把||转换为连接操作符,注意分号隔断了前面的命令,所以要再次添加select来进行查询,这里把1换成其他非零数字也一样会回显flag。因为mssql中||表示连接操作符,不表示或的逻辑,flag后端又存在“或” 的逻辑,因而可以把 || 的或的逻辑改成连接符的作用就可以了。(3)查看Flag,发现被过滤,所以无法直接用堆叠注入的方法直接获取到Flag。
2024-03-10 19:55:41
399
1
原创 BUUCTF-随便注
报错注入:报错注入是通过特殊函数错误使用并使其输出错误结果来获取信息的。简单点说,就是在可以进行的位置,调用特殊的函数执行,利用函数报错使其输出错误结果来获取数据库的相关信息。堆叠注入:mysql数据库sql语句的默认结束符是以";"号结尾,在执行多条sql语句时就要使用结束符隔开,而堆叠注入其实就是通过结束符来执行多条sql语句。(1)报错盲注,构建payload:第一种payload:inurl?
2024-03-10 12:08:27
1537
1
原创 BUUCTF-EasySQL(sql注入题目)
为注释符,因而传入后台的是 select * from table_name where username='1' or 1=1 (因为1=1恒为真,所以SQL语句返回真值,成功绕过验证得到flag),则可返回真值。4、在该题目中,如果不匹配数据库也能返回真值那么就能绕过验证登录(万能用户名)。一般的,库验证登录注册查询数据会用到以下的句型,如果用户与密码匹配正确则返回。因为1=1恒为真,所以SQL语句返回真值,成功绕过验证得到flag。1、万能用户名/密码。2、在该题目中使用,
2024-03-10 10:43:04
486
原创 网络渗透-护网行动部分相关知识
多地ping/国外ping/工具(端口扫描工具:nmap\masscan\RustScan)(为入口权限获取—服务端口漏洞利用做一个铺垫)IP反差域名/域名查询IP/目标C段探测(批量抓取web服务器的banner,工具包括: nmap\masscan\RustScan)入口权限->内网搜集/探测->免杀提权->抓取登陆凭证->跨平台横向—>入口维权—>数据回传->定期权限维护。1)MITRE ATT&CK框架 { ATT&CK (对抗战术、技术和常识的简称)}(7)入口权限获取—钓鱼攻击。
2024-03-10 10:33:51
449
1
原创 BUUCTF-warmup
file=hint.php../../../../../ffffllllaaaagggg(这里其实包含的就是ffffllllaaaagggg,而不包含hint.php),此时函数实参 $page的值为 “hint.php../../../../../ffffllllaaaagggg”,但其并不在$whitelist白名单列表中,函数不会返回true。第2个语句可以执行,返回true。则经过mb_substr()的截取,返回的$page的值为 hint.php,刚好在白名单中通过校验,函数返回true。
2024-03-10 10:30:37
843
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人