bugku速度要快与session

关于速度要快这个题,我是拖了一周左右才解决,之前一直没弄懂,今天终于是正式解决了。之前也接触过这类题,知道要写脚本提交key,查看源码后就知道,

直接用burpsuite抓包,

然后发现这里出现了一个Cookie:PHPSESSION,(这就是个坑)我是一个脚本菜鸟,不知道这是个啥东西,然后当时就没在意,发送到Repeater,急急忙忙的就找flag去了,

go了之后就发现了flag,

把自己写的脚本贴上:

其实这个是完善后的代码,第一次写的没有第二次解码,看了别人写的之后才知道要解两次base64,然后post提交的data中的键是margin,这个在源代码中有说到,

然后写完之后高高兴兴的运行了,然而我运行了好几次一直都是提示:

傻傻的我以为是网速太慢。然后又运行了十几次。.............然后看了一篇猪哥的文章后才发现是session在捣乱。大家都知道cookie,因为HTTP无状态的特性而产生的,主要用于会话状态管理(如用户登陆状态、购物车、游戏分数或其他需要记录的信息)、个性化设置(如用户自定义设置、主题等)、浏览器行为跟踪(如跟踪分析用户行为等),浏览器对服务器发送登陆等的请求,服务器验证后将请求信息封装成cookie放在请求头中返回给浏览器,浏览器收到服务器返回数据,将请求头中的Set-Cookie保存下来,下次浏览器再请求服务器的时候把Cookie放在请求头中传给服务器,然而这是一种不安全的策略,用户信息保存在Cookie中,用户可以随意修改用户信息。

    就是因为很不安全,存储的尺寸大小也有限制,就有了session,一种新的存储会话机制,Session翻译为会话,服务器为每个浏览器创建的一个会话对象,浏览器在第一次请求服务器,服务器便会为这个浏览器生成一个Session对象,保存在服务端,并且把Session的id以Cookie的形式发送给客户端浏览,而以用户显示结束或Session超时为结束。工作原理:1.当一个用户向服务器发送第一个请求时,服务器为其建立一个Session,并为此Session创建一个标识号(Sessionid)。2.这个用户随后的所有请求都应包括这个标识号(sessionid),服务器会校对这个标识号以判断请求属于那个session。

    对于session标识号,有两种实现方式:Cookie和URL重写,session将数据保存在服务端,根据这个,我们就知道写这个脚本需要将session提交,不然服务器无法识别我们是哪一个session,是不会得到flag的,然后贴上可用的脚本:

上面一些session的知识为摘抄。————————————————————————————写完好有成就感!

转载于:https://www.cnblogs.com/pikaqiuaiteme/p/11278112.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值