首页 > Web开发 > 详细

[原题复现]BJDCTF2020 WEB部分全部解

时间:2020-03-30 12:17:36      阅读:123      评论:0      收藏:0      [点我收藏+]

 简介

 原题复现:https://gitee.com/xiaohua1998/BJDCTF2020_January

 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题

Easy MD5

 1.涉及知识点md5函数特性绕过、SQL注入

 md5() 

 md5() 函数计算字符串的 MD5 散列。

 md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。

md5(string,raw)
string 必需。规定要计算的字符串。
raw

可选。规定十六进制或二进制输出格式:

  • TRUE - 原始 16 字符二进制格式
  • FALSE - 默认。32 字符十六进制数

 

2.通过md5($pass,true)实现SQL注入 

bp抓包  发包发现这一句

技术分享图片

Hint: select * from admin where password=md5($pass,true)

 

 可以看到这里的raw参数是True,意为返回原始16字符二进制格式。

 也就是说如果md5值经过hex转成字符串后为 ‘or‘+balabala这样的字符串,则拼接后构成的SQL语句为:

select * from `admin` where password=‘‘orbalabala

 

 当‘or‘后面的值为True时,即可构成万能密码实现SQL注入,这里我们需要知道的是MySQL的一个特性:

所以只要‘or‘后面的字符串为一个非零的数字开头都会返回True,这就是我们的突破点。

 

可以通过这个脚本来获得满足我们要求的明文:

<?php 
for ($i = 0;;) { 
 for ($c = 0; $c < 1000000; $c++, $i++)
  if (stripos(md5($i, true), \‘or\‘) !== false)
   echo "\nmd5($i) = " . md5($i, true) . "\n";
 echo ".";
}
?>

//引用于 http://mslc.ctf.su/wp/leet-more-2010-oh-those-admins-writeup/

 

这里提供一个最常用的:ffifdyop,该字符串md5加密后若raw参数为True时会返回 ‘or‘6<trash> (<trash>其实就是一些乱码和不可见字符,这里只要第一位是非零数字即可被判定为True,后面的<trash>会在MySQL将其转换成整型比较时丢掉)

所以如果这里我们输入ffifdyop,后端的SQL语句会变成:

select * from `admin` where password=‘‘or6<trash>           --->  True

 

引用大佬博客:https://www.cnblogs.com/yesec/p/12535534.html

所以输入ffidyop会到下一个页面。

 

3.通过Hash缺陷绕过md5()验证

hash缺陷参考https://www.cnblogs.com/xhds/p/12349189.html

通过查看源代码发现源码

技术分享图片

payload:

http://96c67b57-df3d-41a2-bc76-836c71cda19b.node3.buuoj.cn/levels91.php?a=s878926199a&b=QNKCDZO

4.通过数组绕过

到下一个页面直接暴露出源码进行绕过

技术分享图片

 

 

 payload:

POST:param1[]=1&param2[]=2

 

CTF数组绕过姿势

>     md5(array()) = null
>     sha1(array()) = null    
>     ereg(pattern,array()) = null vs preg_match(pattern,array) = false
>     strcmp(array(), "abc") = null
>     strpos(array(),"abc") = null

引用:https://blog.csdn.net/q1352483315/java/article/details/89469928

 

 

技术分享图片

 

 简介

1

 简介

1

 简介

1

 简介

1

[原题复现]BJDCTF2020 WEB部分全部解

原文:https://www.cnblogs.com/xhds/p/12597533.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!