filename pathname怎么用_file_put_contents

filename pathname怎么用_file_put_contents文件上传-滴滴!我要上传shell无偿领取网络安全入门到进阶学习籽料可这个链接:瓜子:零基础学网络安全有什么建议?如何入门?——来自一位年薪80W的网工倾情讲解文件上传在CTF真的很常见,而且大多数过滤,有

文件上传—滴滴!我要上传shell   无偿领取网络安全入门到进阶学习籽料   可这个链接:瓜子:零基础学网络安全有什么建议?如何入门?——来自一位年薪80W的网工倾情讲解   文件上传在CTF真的很常见,而且大多数过滤,有小数部分是注入,文件上传的目的常常传一句话木马然后利用菜刀或蚁剑来查找文件或者连接其数据库,但是你想传成功,哦不,CTF不可能让你那么轻松的,常见的套路无疑是以下几点: 1.只允许传图片格式文件 2.过滤掉文件名或内容中含有php等关键词 3.不生成上传路径原理   只允许传图片格式文件   这种无疑是最常见但是过滤起来是最简单的,如果要过滤的那就送你一个字——–>套 如何套?你可以试试以下几种: 1.删除属性 2.用burp将文件改为.php 3.修改Content-Type 4.查看后端是如何进行判断   删除属性   删除属性的原理在于通过前端了判断你文件格式是否为图片格式,所以你需要进入开发者模式然后查看其调用了什么函数,然后将其禁用即可   用burp将文件改为.php   这种相对来说比较简单,可以直接用burp改其后缀名为php,这种简单的修改也不是很常见,比较CTF不会出这么简单的   修改Content-Type   Content-Type表示上传的类型,后端大部分通过其进行判断,所以将Content-Type修改为图片格式类型即可绕过,常见的图片类型: 1.image/jpeg 2.image/png 3.image/gif   查看后端是如何进行判断   网上常见的过滤有php.jpg.php进行过滤,我们可以通过其来讲解,有些后端是通过判断文件名的后缀名来判断文件类型,有时判断语句会先判断第一个.后面的内容为jpg/png/gif/bmp格式,有时会判断最后一个,所以对于这些通常用%00截断来过滤,原理在于php无法识别%00后面的内容,如果要详细明白其原理那就要你自己去百度了,这里我也不太明白   过滤掉文件名或内容中含有php等关键词   这种比较考php知识点,但是过滤其实还是与sql注入过滤原理差不多 1.大小写混写 2.叠写 3.Php的其他扩展名(pht,phtm,php3,php4,php5,php6,php6)   有时会过滤掉文件内容,常见的一句话木马   有时他也会同时将<?过滤掉,所以可以使用等价函数   不生成上传路径   这种比较难,而且现在出现的比较少,但是还是挺难的,面对这种一般都需要看是否有源代码泄露,或者看上传文件后有什么提示,有时会考虑到文件上传漏洞CTF题目案例   RCTF-2015—>UPload   打开网站呈现这样:
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contents   遇到这种,先不考虑注入,先考虑登录成功后页面查看是否有可用知识,如没有或者无法登进就要考虑是用万能密码还是sql注入   
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contentsimg   登入进去后呈现这样,可以发现是上传,那就尝试用burp抓包普通上传,看是否返回上传路径.如有则上传一句话,如需要过滤则用上面的”套”进行过滤 上传一个正常的文件后,页面返回内容为   
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contents在这里插入图片描述   那就要先考虑是否有源码泄露 尝试robots.txt,memberpage.php.bak,index.php.bak,/.git/,www.zip都无果 那就考虑是否为文件上传注入漏洞,看到前面有回显文件名 所以可以初步判断为文件上传注入漏洞,sql语句可能为: INSERT INTO (, ) VALUES (‘uid号’,’图片名’) 因为图片名会回显,所以讲图片名分解为’+hex(database())+’.jpg 这里用hex也是看其他大佬writeup的,反正不用则会回显0,主要原理还是不是明白,可能考虑到sql内核函数问题 将文件名改为’+hex(database())+’.jpg 页面回显为 长度为7,那肯定有问题,因为网上的十六进制转文本都是每二个字符进行组合转换的 所以可以猜测十六进制并没有显示完整,所以可以尝试将其转换为十进制输出 用到的函数为conv(strng,当前进制,转换后的进制) 将文件名改为’+(conv(hex(database()),16,10))+’.jpg,页面回显为一个科学计数法,说明十进制数字很大,所以需要进行字符串截取 Substr() Playload” style=”margin: auto” />   这里为什么截取12个字符,这里也不要说明,你可能将12变成13试试就明白了 回显: 5392 暂时不需要转换,因为你已经知道十进制肯定大于12 所以继续,直到超出长度报错就可 最后组合得到十进制为:756转换为文本:web_upload 然后进行爆表:   
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contentsimg   得到回显,同样像上面一样,最后组合的十进制为:5转文本为:hello_flag_is_here   继续爆类名   最后得到类名:i_am_flag 然后爆值   最后得到flag   最后可以参考一下大佬的writeup   网络安全成长路线图   这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成hei客大神,这个方向越往后,需要学习和掌握的东西就会越来越多,以下是学习网络安全需要走的方向:
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contents   ​ 上面介绍了技术分类和学习路线,这里来谈一下学习方法: ​ ## 视频学习   ​ 无论你是去B站或者是油管上面都有很多网络安全的相关视频可以学习,当然如果你还不知道选择那套学习,我这里也整理了一套和上述成长路线图挂钩的视频教程,完整版的视频已经上传至CSDN官方,朋友们如果需要可以这个链接免费领取。网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!   网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
filename pathname怎么用_file_put_contents
filename pathname怎么用_file_put_contents

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/78252.html

(0)
上一篇 2024年 8月 3日 下午2:43
下一篇 2024年 8月 3日

相关推荐

关注微信