随笔分类 -  Web

摘要:Week1 web1(easy_auth): jwt伪造。题目提示flag在admin账号里;随便注册一个账号抓包看到jwt-token,放到网上解码发现密钥为空。直接将账号&id改为admin对应的东西,将生成的payload放入请求包token头即可在回显中获得flag。 web2(蛛蛛): 点 阅读全文
posted @ 2022-02-26 18:08 hiddener 编辑
摘要:25.[网鼎杯 2018]Fakebook 非预期解:纯SQL注入。 注册账号(blog需要http开头)后登录,再点进去,发现数字型报错注入点【view.php?no=】;进行传统报错注入(他过滤了0x7e,但没过滤【~】,xs): 【1 and updatexml(1,concat('~',da 阅读全文
posted @ 2022-02-26 18:04 hiddener 编辑
摘要:1、[极客大挑战2019]Havefun f12有提示,/?cat=dog即可。 难度:0 2、[ACTF2020新生赛]Include 题目名称叫Include,点tips之后url里有?file=flag.php,基本确定是任意文件读取漏洞。 无源码泄露。 测试远程代码执行: php://inp 阅读全文
posted @ 2022-02-26 18:01 hiddener 编辑
摘要:预备知识: 函数:我们常用的PHP内置“函数”里,其实有一些并不是函数,而是“语法结构”。具体是不是函数,可以用【function_exists】判别。 动态拼接执行:PHP支持把字符串变量内容作为函数名进行命令执行;此处的函数必须是真实存在的。特别的,在PHP7及以上版本,assert函数也不被允 阅读全文
posted @ 2022-02-26 18:01 hiddener 编辑
摘要:之前提到的时间盲注,虽然用途比较广泛,但其查询耗时较长;且盲注都需要发送大量请求,容易被WAF拦截。 此时,我们就要用到DNSlog注入——一个可以以较少的访问次数快速获取信息的注入方式。 (不过,它对服务端有一些额外要求;此处的DNSlog注入必须在相关权限开放且服务端系统为windows时才可执 阅读全文
posted @ 2021-11-01 12:53 hiddener 编辑
摘要:起因是hackgame的“flag助力大红包”题目。 题目不难,X-Forwarded-For写个脚本就搞定了。 但问题是,IP这块我其实完全不懂原理;如果X-Forwarded-For没用就直接G。 所以,简单的了解了一下IPv4。 IPv4使用32位地址,一般采用点分十进制写法(eg:192.1 阅读全文
posted @ 2021-10-31 23:08 hiddener 编辑
摘要:吸取了长城杯的教训,学习python-web迫在眉睫。 正常难度的python_template_injection,由于现在没学面向对象,理解原理比较困难,所以先使用简单版复现;并附上正常版的常用payload。 part1:操作 服务端代码: 测试payload1: 效果: 网页回显无意义。 测 阅读全文
posted @ 2021-09-23 10:44 hiddener 编辑
摘要:***本篇中的测试均需要使用python3完成。 攻击以下面脚本运作的服务器。 针对脚本的代码逻辑,写出生成利用任意代码执行漏洞的恶意序列的脚本: 打开攻击机端口, 将生成的东西输入网页cookie: 与在“反弹shell”中持续的控制权不同,这里只获得了短暂的远程控制效果: 在复现过程中,若出现错 阅读全文
posted @ 2021-09-20 21:23 hiddener 编辑
摘要:以这个服务端代码为例,简单了解一下flask的运用。 1。app = Flask(__name__)记住就好了 2。@app.route("/")记住就好了;注意括号里的是调用这个脚本的url路径; **这行代码得写在所有class、def的下方;起index效果的那个除外。 3。request.c 阅读全文
posted @ 2021-09-20 20:44 hiddener 编辑
摘要:part1:不求甚解的复现 对于服务端源码: 编写恶意序列化对象生成程序: 将生成的恶意序列化对象输入服务端user,使其执行系统命令。(上面那俩其实都行) part2:原理解释 b'xxx'是python的byte数据类型,一个字符只占一个字节;往往用【\x4A】这种形式表示,但如果是可见字符,也 阅读全文
posted @ 2021-09-20 13:44 hiddener 编辑
摘要:靶子代码: 前端效果: 这是个没有任何防护的文件上传代码,同时还热心的附上了上传文件的路径。 我们写好php木马后,什么额外工作也不需要做,直接上传就行了。上传后在浏览器里访问该文件,其就会被执行。 注意,该文件扩展名必须为.php,否则浏览器访问时不会得到执行。 上传的同时,抓包,看下包的内容。 阅读全文
posted @ 2021-09-16 21:09 hiddener 编辑
摘要:PHP文件包含漏洞花样繁多,需配合代码审计。 看能否使用这类漏洞时,主要看: (1)代码中是否有include(),且参数可控; 如: (2)php.ini设置:确保 allow_url_fopen=1, allow_url_include=1; 确定了使用的参数之后,就可以开始用伪协议了。 1. 阅读全文
posted @ 2021-09-16 17:23 hiddener 编辑
摘要:布尔盲注适用于任何情况回显都不变的情况。 (由此,可以看出,回显啥的其实都不重要,最重要的是判断注入点。只要找到注入点了,其他的都是浮云。) 在操作上,时间盲注还稍微简单一点;它不需要像布尔盲注那样,我们还需要去比对各种回显,找判断条件。 顶多是,post的时候,去burp里对一下参数就行了。 布尔 阅读全文
posted @ 2021-09-15 22:35 hiddener 编辑
摘要:终于写到非get类型的注入了。 不过,我懒得在这里搞代码审计了;留到存储型XSS原型的时候再来分析源码吧。 这次以Less-15为例。 框里随便输点东西,submit,抓包,发现包出现了一些改变: 同时,发现注入 (这里必须用#; --+不行) 再试,发现了三种回显:什么都不输入的无配图,登入失败的 阅读全文
posted @ 2021-09-15 21:24 hiddener 编辑
摘要:现在,我们回到之前,练习脚本支持的布尔盲注(get型)。 布尔盲注的应用场景是查询成功和失败时回显不同,且存在注入点的地方。 这里以Less-8为例: 发现查询成功时,会显示;失败则无回显。 同时发现,payload: ?id=0' or 1=1 --+ 可以查询成功;即此处存在注入点,or可以得到 阅读全文
posted @ 2021-09-15 19:52 hiddener 编辑
摘要:首先申明,Less-(38~41)可以采取和Less-(1~4)相同的解法;(一一对应) 然而,他们的漏洞其实更大,我们可以做更多具有破坏性的事情。 代码审计: Less-(38~41): 41的$sql同39,但没有报错回显了。 mysqli_multi_query() 执行一个或多个针对数据库的 阅读全文
posted @ 2021-09-13 22:06 hiddener 编辑
摘要:Less-33: 各种回显均存在。 本关过滤字符的方式发生了改变。 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。 预定义字符是: 单引号(') 双引号(") 反斜杠(\) NULL Less-35: 只是把单引号去掉了,其余关于Less-33都不变。 Less-36: 对于 阅读全文
posted @ 2021-09-13 20:07 hiddener 编辑
摘要:<!-- 下午整了半天Less-29~31,愣是没调好jsp环境,只好跳过。 难受.jpg !--> Less-32: 核心语句: 各种回显均存在。 第一句话指定了字符集为gbk。 chech_addslaches 函数是个很强的过滤: 在第二行和第三行, 它通过在前面加一个反斜杠将其转义的方式,屏 阅读全文
posted @ 2021-09-13 19:01 hiddener 编辑
摘要:Less-26: 核心语句: 各种回显均存在。 本题相比Less-25,多屏蔽了很多符号; 首先是各种注释符 --+,#,/**/ 。 /[]/表示字符集合;任何出现在里面的字符均会被替换。 屏蔽{ / * \ }等比较特殊的字符时,需要加上转义符号。 /s 不是转义 而是匹配任何空白字符,包括空格 阅读全文
posted @ 2021-09-12 19:28 hiddener 编辑

点击右上角即可分享
微信分享提示