博客
关于我
BugkuCTF web_31-40
阅读量:326 次
发布时间:2019-03-04

本文共 2087 字,大约阅读时间需要 6 分钟。

31 md5 collision(NUPT_CTF)

题目有md5提示,所以找一个md5值是0e开头的看看

get传参?a=240610708拿到flag。

————————————

32 程序员本地网站

伪造XFF头就行了

————————————

33 各种绕过

sha1() 函数计算字符串的 SHA-1 散列。

sha1只对字符型进行处理,是数组的话返回false,所以让两个值都为数组就可以了。

passwd要用post提交才行(不知道为啥)

————————————

34 web8

extract() 函数从数组中将变量导入到当前的符号表。

该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。

可以构造fn=php://input的值和ac的值一样

也可以让ac的值和flag.txt里的值一样都能拿到flag。

————————————

35 细心

访问robots.txt,(扫描后台能扫到)看到禁止访问resusl.php.那就访问这个好了。

接着构造x的值,题目上有个admin,试试看 拿到flag。

————————————

36 求getshell

getshell就是获得权限的意思。

Content-Type来表示具体请求中的媒体类型信息。

请求头Content-Type,通过大小写进行绕过

文件格式Content-Type用image/png
上传文件名用.php5后缀

这道题不是很理解,以后掌握的知识多了再回来看看。

————————————

37 INSERT INTO注入

explode() 函数把字符串打散为数组。

延迟注入,是一种盲注的手法, 提交对执行时间敏感的函数sql语句,通过执行时间的长短来判断是否执行成功,比如:正确的话会导致时间很长,错误的话会导致执行时间很短。

mysql中与if有相同功效的就是:select case when (条件) then 代码1 else 代码 2 end;

现在理解起来有些费劲,过段时间回来看

参考链接https://blog.csdn.net/jlu16/article/details/86264633

————————————

38 这是一个神奇的登陆框

参考链接https://blog.csdn.net/qq_42967398/article/details/84930265

database()

以utf8字符集中的字符串形式返回默认(当前)数据库名称。 如果没有默认数据库,则DATABASE()返回NULL。 在存储例程中,默认数据库是例程所关联的数据库,它不一定与调用上下文中默认的数据库相同

mysql(5.0+)默认定义information_schema数据库,有

schemata(数据库名)表、tables(表名)表、columns(字段名)表

在schemata表中,schema_name字段用来存储数据库名

在tables表中,table_schema和table_name分别存储数据库名和表明
在columns表中,table_schema(数据库名)、table_name(表名)、column_name(字段名)

————————————

39 多次

group_concat(column):对查询到的多条记录进行合并。

concat()的一般用法主要是用于拼接.

例如:concat(‘m’,‘y’,‘s’,‘q’,‘l’)作用是mysql。

异或注入

例:?id=1’^(length(‘union’)!=0)–+

参考链接https://blog.csdn.net/qq_26090065/article/details/82708691

————————————

40 PHP_encrypt_1(ISCCCTF)

php在循环或if等块中声明的变量也可以在块外识别和访问,

function decrypy($data){   	$key = "729623334f0aa2784a1599fd374c120d";	//md5('ISCC')	$klen = strlen($key);	$data = base64_decode($data);	$len = strlen($data);		for ($i=0, $x=0; $i<$len; $i++){   		if ($x==$klen){   			$x = 0;		}		$char .= $key[$x];		$x++;	}	$str="";	for ($i=0; $i<$len; $i++){   		$str .= chr((ord($data[$i]) + 128 - ord($char[$i])) % 128);	}	echo $str . "
";}decrypy("fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=");
你可能感兴趣的文章
Pandas数据分析从放弃到入门
查看>>
Matplotlib绘制漫威英雄战力图,带你飞起来!
查看>>
机器学习是什么
查看>>
《小王子》里一些后知后觉的道理
查看>>
《自私的基因》总结
查看>>
《山海经》总结
查看>>
《非暴力沟通》总结
查看>>
《你当像鸟飞往你的山》总结
查看>>
MySQL开启profiling分析SQL
查看>>
HTTP报文头加上Vary让CDN缓存不同版本
查看>>
《哲学家们都干了些什么》总结
查看>>
《我是猫》总结
查看>>
《抗糖化书》总结
查看>>
apache虚拟主机配置
查看>>
光盘作为yum源
查看>>
jquery实现点击文字后变成文本框且可修改
查看>>
PHP 正则表达式资料
查看>>
php扩展编译方法
查看>>
PHP官方网站及PHP手册
查看>>
thinkphp设置默认访问的模块
查看>>