一些CTF题目--20/9/3
1.
看源码
POST方法。Extract覆盖。 直接url ?参数不行,因为POST参数不在URL上,GET参数才在

Burpsuite抓包,改成 pass=1&thepassword_123=1,这样就相等了


2.
题目大概:
$u=$_GET[‘$user’]
$f=$_GET[‘$variable’]
If(isset($u)&&File_get_content($u,’r’)===”im admin”){
If(preg_match(‘/flag/’))
Error
Else
Eval(“var_dump($$f);”)
}
主要是两个地方:===的判断和绕过preg_match(‘/flag/’)
Burpsuite 右键change request method 为post
然后url …/?user=php://input&variable=globals
下方输入 im admin
3.
<h1><center>If you want to login, please let me get username and password.</center></h1>
<!-- mysql_query("set names utf8");
function check_username($str){
if(preg_match("/^admin$/i",$str)){
return 1;
}
for($i=195;$i<240;$i++){
if(preg_match("/".chr($i)."/i",$str)){
return 1;
}
}
return 0;
}
function check_password($str){
if(preg_match("/admins/i",$str)){
return 1;
}
return 0;
}
$sql="select * from user where username='$username' and password='$password'"; a/a-->
题目提示了,用户名admin,password admins。以及可以用username a,password a先试试。
只需要绕过检测。
检测:admin和admins
绕过admin检测:Username=admin%c2。 除了检测admin还检测195-39的ascii字符,而%c2在194的范围内。
绕过password检测: Mysql 默认字符latin1,。页面显示是utf-8。用字符转换的漏洞代替password的a:password=%c3%83dmins
5.


先抓包试试

发到repeater,go。发现reponse有flag。但是这个flag每次变化。Base64解码两次每次是不同的一串数字。

再看题目提示,应该是把这个flag当做message post出去

速度很快,每次flag不一样,所以用代码(脚本/或者手速特别快)。得到最后的flag。
#coding:utf-8
import requests
import base64
url='http://192.168.8.160/web/fast/'
s=requests.Session()
header=s.get(url).headers
print(header)
flag = base64.b64decode(base64.b64decode(header['flag']).decode().split(':')[1]).decode() #对其进行base64两次解密
data={'message':flag}
print(s.post(url=url,data=data).content.decode())

6.
鼠标点不到。检查。
虽然点不到,但是看代码知道点到会跳到 /?key=700的url。



8

QNKCDZO md5 编码为0exxxx
PHP对所有0e开头(16进制)字符串认为相等
在构造一个0e开头的即可

一些CTF题目--20/9/3的更多相关文章
- Python简单的CTF题目hash碰撞小脚本
Python简单的CTF题目hash碰撞小脚本 import hashlib for num in range(10000,9999999999): res = hashlib.sha1(str(nu ...
- ctf题目writeup(9)
继续刷题,找到一个 什么 蓝鲸安全的ctf平台 地址:http://whalectf.xin/challenges (话说这些ctf平台长得好像) 1. 放到converter试一下: 在用十六进制转 ...
- NYOJ题目20吝啬的国度
-----------------------------------------n-1条边的无向连通图是一棵树,又因为树上两点之间的路径是唯一的,所以解是唯一的.(注意并不一定是二叉树,所以最好采用 ...
- ctf题目writeup(8)
2019.2.11 南京邮电的ctf平台: 地址http://ctf.nuptzj.cn/challenges# 他们好像搭新的平台了...我注册弄了好半天... 1. 签到题,打开网址: 查看一下页 ...
- ctf题目writeup(7)
2019.2.10 过年休息归来,继续做题. bugku的web题,地址:https://ctf.bugku.com/challenges 1. http://123.206.87.240:8002/ ...
- ctf题目writeup(6)
2019.2.2 依旧是bugku上面的题目,地址:https://ctf.bugku.com/challenges 1. 解压后是60多个out.zip,都是真加密,里面都是1kb的data.txt ...
- ctf题目writeup(5)
2019.2.1 今天继续bugku的隐写杂项题:题目链接:https://ctf.bugku.com/challenges 1. 这道题下载后用wireshark打开...看了好久也没看出个所以然, ...
- ctf题目writeup(4)
2019.1.31 题目:这次都是web的了...(自己只略接触隐写杂项web这些简单的东西...) 题目地址:https://www.ichunqiu.com/battalion 1. 打开链接: ...
- ctf题目writeup(2)
2019.1.29 题目地址: https://www.ichunqiu.com/battalion 1. 点开链接: include "flag.php";$a = @$_REQ ...
随机推荐
- 【开源】我和 JAP(JA Plus) 的故事
JA Plus 故事 程序员的故事如此简单之绕不过去的开源情结 我们准备做一件伟大的事,也可以说是一件真真正正普惠的事. 絮 是的,你没有看错,就是"絮"而非"序&quo ...
- React 入门-redux 和 react-redux
React 将页面元素拆分成组件,通过组装展示数据.组件又有无状态和有状态之分,所谓状态,可以简单的认为是组件要展示的数据.React 有个特性或者说是限制单向数据流,组件的状态数据只能在组件内部修改 ...
- 【Android初级】如何动态添加菜单项(附源码+避坑)
我们平时在开发过程中,为了灵活多变,除了使用静态的菜单,还有动态添加菜单的需求.今天要分享的功能如下: 在界面的右上角有个更多选项,点开后,有两个子菜单:关于和退出 点击"关于", ...
- 显示HDFS中指定的文件读写权限、大小、创建时间、路径等信息。
1 import org.apache.hadoop.fs.*; 2 import java.text.SimpleDateFormat; 3 public class D_ReadFileStatu ...
- CSS Color Adjustment Module Level 1
CSS Color Adjustment Module Level 1 https://drafts.csswg.org/css-color-adjust-1/ DarkMode 适配指南 | 微信开 ...
- The Node.js Event Loop, Timers, and process.nextTick()
The Node.js Event Loop, Timers, and process.nextTick() | Node.js https://nodejs.org/uk/docs/guides/e ...
- win api 窗口操作-窗口置顶与寻找与激活
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos https://docs.micr ...
- hashCode、equals详解
hash和hash表是什么? hash是一个函数,该函数中的实现就是一种算法,就是通过一系列的算法来得到一个hash值,这个时候,我们就需要知道另一个东西,hash表,通过hash算法得到的hash值 ...
- Java中String对象创建机制详解()
一String 使用 private final char value来实现字符串存储 二Java中String的创建方法四种 三在深入了解String创建机制之前要先了解一个重要概念常量池Const ...
- Spring boot 自定义注解标签记录系统访问日志
package io.renren.common.annotation; import java.lang.annotation.Documented; import java.lang.annota ...