- pwnable.kr解题write up —— Toddler's Bottle(一)
captain_hwz
securityCTFsecurity
1.fd#include#includecharbuf[32];intmain(intargc,char*argv[],char*envp[]){if(argcunsignedlonghashcode=0x21DD09EC;unsignedlongcheck_password(constchar*p){int*ip=(int*)p;inti;intres=0;for(i=0;i#includevo
- pwnable.kr解题write up —— Toddler's Bottle(二)
captain_hwz
securityCTFsecurity
9.mistake#include#include#definePW_LEN10#defineXORKEY1voidxor(char*s,intlen){inti;for(i=0;i0)){printf("readerror\n");close(fd);return0;}charpw_buf2[PW_LEN+1];printf("inputpassword:");scanf("%10s",pw_b
- Pwnable.kr 提示之 md5-calculator 篇
JackoQm
前前言本人的个人博客网址:www.QmSharing.space,所有的文章都可以在里面找到,欢迎各位大佬前来参观并留下宝贵的建议,大家一起学习一起成长:-)难度分析本题属于综合题,是有一定难度的,但利用的漏洞我们在之前的题目中基本都见到过,所以也不算特别的难.这题唯一一个之前涉及不多的就是canary技术,不过它也并不是很难理解,后面我会大概介绍一下.这题总体是特别有意思的一道题,难度与乐趣具备
- Matter - 配置工厂数据(2)
__蚩尤
MatterMatter物联网Nordic笔记
部分关键名词参数简介PASE(Passcode-AuthenticatedSessionEstablishment):基于密码认证的会话建立,用于在Commissioning的时候Commissioner与MatterDeivce之间建立安全信道,生成对称加密密钥用于Commissioning后续通信消息进行加、解密和完整性保护。Passcode(orPincode):密码或口令,用于在Commi
- Pwnable.kr 提示之 otp 篇
JackoQm
前前言本人的个人博客网址:www.QmSharing.space,所有的文章都可以在里面找到,欢迎各位大佬前来参观并留下宝贵的建议,大家一起学习一起成长:-)难度分析本题主要考的是知识面,它并没有考什么高超的技术,所以难度来说如果你知道这个知识点,那么这题简单的不行,但如果你不知道(和我一样),那做的就会非常痛苦.基本检查fileotp:ELF64-bitLSBexecutable,x86-64,
- pwnable.kr flag
CodeRambler
pwnable.krflagimage.png题目给了提示,让我们去分析二进制代码。所以我们进IDA去看二进制代码来找到相关信息。image.png在图中我们可以看到这个程序加了UPX壳,所以我们先脱壳。脱壳可以用upx脱壳工具。$sudoaptinstallupx$upx-dflagUltimatePackerforeXecutablesCopyright(C)1996-2013UPX3.91M
- [pwnable.kr]第一题fd
飞速遗忘
题目标题:fd(fd在Linux中是文件描述符的意思,但是在此题中我没看到题干和fd有什么关系.)文字描述:
[email protected](pw:guest)提示使用ssh登录服务器pwnable.kr,端口-p2222.账号fd,密码guest用secureCRT登录查看ls查看.PNG第一步:用ls-l查看文件
- html生成二维码
小菜全
html前端java
1使用qrcode.min.js插件2.html代码3.js代码varqrCode1=newQRCode(document.getElementById("passCode1"),{width:200,height:200});qrCode1.makeCovalue");就可以生成二维码
- 【引用】Weblogic10R3上BUG 现象:数据源异常挂起数据库记录没有回滚
weixin_34273479
数据库java
【早期文章迁移过来】weblogic10R3环境出现数据源异常挂起数据库记录没有回滚现象。现已经经Oracle公司工程师确认此现象是weblogic10.3.0.0上一个bug,补丁的PatchID和Passcode信息:10.3.0.0|A5IZ|RI4ZGV98,且weblogic10.3.1.0已经修复此bug。下面是测试报告:1环境描述OS:Aix5.3WLS:WebLogicServer
- 修正weblogic10.0 在AIX5.3 上挂死补丁
programboy1984
weblogic技术weblogicaixpatchoracleibmjdk
今天到现场发现welogic10.0在AIX5.3上挂死了,weblogic在IBMJDK会挂死这个早就知道了,但是weblogic10.0的第一次遇到过(以前都是10.3、9.23,816),所以我这也没现成的补丁,经检查发现他们安装weblogic时没有打oracle官方文档说的pacth,所以先搞了几个PACTH,细节如下PatchID:JQD4Passcode:2FL7GCMBPatchI
- 网鼎杯(4)-pwn
2mpossible
题目链接保护保护还挺多main函数bored函数fmt函数secret函数stack函数主要漏洞点:stack函数有栈溢出,还有puts函数可以泄漏栈的东西secret函数由于每个用户能打开的文件数是一定的,函数没有fclose,一直开最后读进去的就是空的,所以可以绕过memcmp函数去执行qmemcpy函数达到栈溢出读写函数细节类似的题有pwnable.kr的otp(后面做到的时候可以再回顾一下
- 【pwnable.kr】 unlink
weixin_30340745
shellc/c++运维
pwnable.kr第一阶段的最后一题!这道题目就是堆溢出的经典利用题目,不过是把堆块的分配与释放操作用C++重新写了一遍,可参考《C和C++安全编码一书》//不是广告#include#include#includetypedefstructtagOBJ{structtagOBJ*fd;structtagOBJ*bk;charbuf[8];}OBJ;voidshell(){system("/bin
- pwnable.kr bof
chenmuxin
思路-检查main函数调用了什么main.png-func函数实现了什么功能func.pngfunc汇编.png-如何使key==0xcafebabe,调用system(“/bin/sh”)做法-看到调用了gets,使用命令man查看gets函数定义,可知gets是读取一整行的字符直到结束换行mangets.png-看到字符s(即数组overflows)的大小为-2CH,因此我们的目的是将44(2
- 程序开发中表示密码时使用 password 还是 passcode?
路多辛
后端系列知识讲解服务器运维开发语言后端web安全
password和passcode是两个经常在计算机和网络安全中使用的术语,两者都是用于身份验证的机制,但它们之间还是存在一些区别的。passwordpassword通常是指用户自己设置的一串字符,用于保护自己的账户安全。密码通常是静态的,也就是说,除非用户自己更改,否则是不会自动改变的。密码的强度取决于其复杂性和长度(难于被猜测),一个强密码应该具备以下特征:长度:密码应该足够长,一般要求至少包
- 【MultiOTP】在Linux上使用MultiOTP进行SSH登录
KnightYangHJ
UbuntuLinuxlinuxssh运维
在前面的文章中【FreeRADIUS】使用FreeRADIUS进行SSH身份验证已经了解过如何通过Radius去来实现SSH和SUDO的登录,在接下来的文章中只是将密码从【LDAPPASSWORD+GoogltOTP】改成了【MultiOTP】生成的passcode,不在需要密码,只需要OTP去登录。这样再也不用担心密码忘记了。拓扑图前提条件:一台提供RADIUS服务的MultiOTP服务器,如何
- pwnable 笔记 Toddler's Bottle - random
pumpkin9
pwnable.kr一道1point的题#includeintmain(){unsignedintrandom;random=rand();//randomvalue!printf(%u,random);unsignedintkey=0;scanf(%d,&key);if((key^random)==0xdeadbeef){printf(Good!n);system(bincatflag);ret
- Python 通过 stomp 发送消息到 ActiveMQ 的代码
HoneyMoose
pythonactivemq开发语言
只需要下面简单的几行代码,我们就可以把我们本地数据发送到ActiveMQ上面去。defsend_mq(data):hosts=[(AMQHOST,AMQPORT)]conn=stomp.Connection(host_and_ports=hosts,auto_content_length=False)conn.connect(username=AMQUSER,passcode=AMQPASS,wa
- pwnable.kr之echo1
hyrathon
Overview直接运行起来是一个简单的交互小程序,一开始会要求输入用户名,之后的三项选项只有第一项有效.echo1-1.JPG拖进IDA分析第一项选项对应的函数是echo1,该函数存在明显的栈溢出.echo1-2.JPGecho1-3.JPG如果checksec的话可以发现该elf缓解技术几乎没开,可以采用覆盖返回值+跳转到shellcode的方式利用.这里没有机会可以输出栈地址,因此无法得到栈
- pwnable.kr第三题:bof
Cookie_hunter
pwnable.kr下载先将bof与bof.c下载下来,先检查下bof开启的保护是真的吓到,基本能开的都开了,但是转念一想,入门级别没有那么恶心人吧,然后看看源代码发现,只是要将传入的0xdeadbeef通过栈溢出换成0xcafebabe,而且在程序里面已经有调用system("/bin/sh")的语句,只要替换成功就能调用,那这些保护基本也没什么意义嘛。gdb调试继续单步,输入AAAAAAAA,
- pwnable.kr第四题:flag
Cookie_hunter
pwnable.kr从题目提示来看,先用64位IDA打开,观察只有寥寥几个函数,再根据题目中packed关键词推断存在加壳,再根据binary提示,使用winhex打开文件(个人习惯,也可查看IDA中Hex窗口)可见存在UPX加壳,对于脱壳,Windows可以使用UPXTool工具,Lunix可以使用命令upx-d文件名UPXTool:https://pan.baidu.com/s/1WZvYDx
- angular使用stompjs进行长连接通讯
SevenLonely
1.安装stomp插件npminstall@stomp/ng2-stompjs--saveng2-stompjs2.使用配置连接conststompConfig:StompConfig={//Whichserver?url:'ws://127.0.0.1:15674/ws',//Headers//Typicalkeys:login,passcode,hostheaders:{login:'gues
- 黑客练手入门| pwnable.kr—幼儿瓶—01:fd
Young先生
[TOC]前言担心有人不知道pwnable.kr是什么,所以觉得有必要简单介绍一下它。pwnable.kr介绍pwnable.kr是一个非商业性的Wargame网站,它提供有关系统开发的各种pwn挑战。pwnable.kr的主要目的是'有趣'。并把每个挑战视为游戏。地址:http://pwnable.kr/该怎么玩每个挑战都有对应的标记文件(类似于CTF),您需要阅读该文件并提交给pwnable.
- pwnable.kr passcode
chenmuxin
思路首先查看保护,发现看开启了nx保护和canary,代表不可以简单的栈溢出checksec.png从main函数开始看,看到当passcode1==338150和passcode2==13371337的时候就可以成功的调用system("/bin/catflag"),尝试调用程序firsttry.png发现输入后passcode失败了,程序出现错误,回看代码,发现在login函数中使用scanf
- pwnable.kr 题解二
Nevv
0x01codemap1.题目描述Ihaveabinarythathasalotinformationinsideheap.Howfastcanyoureverse-engineerthis?(hint:seetheinformationinsideEAX,EBXwhen0x403E65isexecuted)download:http://pwnable.kr/bin/codemap.exessh
- pwnable.kr第二题:collision
Cookie_hunter
pwnable.kr源码unsignedlonghashcode=0x21DD09EC;unsignedlongcheck_password(constchar*p){int*ip=(int*)p;inti;intres=0;for(i=0;i<5;i++){res+=ip[i];}returnres;}intmain(intargc,char*argv[]){if(argc<2){printf(
- pwnable.kr的第三题[bof]详解writeup
酱瓜_01ce
首先我们登陆pwnable.kr,这里是道溢出题目,在题目提示中已经可以看出来了,我们下载一下bof文件,已经看一下bof文件的源码。http://pwnable.kr/bin/bof.c。先是申明了一个char类型变量叫做overflowme,连接程序,他会输出一个overflowme:,然后你的输入会传入overflowme里,如果传入的key为0xcafebabe就会给你一个shell权限让
- pwnable.kr bof
CodeRambler
pwnable.krbofimage.png同样的,既然有源代码。我们就配合着源代码来做题,这样可能更利于搞懂高级语言被反汇编之后两者之间的联系。bof.c#include#include#includevoidfunc(intkey){charoverflowme[32];printf("overflowme:");gets(overflowme);//smashme!if(key==0xcaf
- 小白Pwn入门(pwnable.kr)第一题:fd
Reverse的舔狗
先小小提一下下面涉及到的一些东西,玩Linux很溜的可以无视。主要照顾一些现在只接触过Windows的同学:ls:查看当前目录下的所有文件(这个命令让你你看见的都是文件名和目录名)cat:打开文件查看(这个命令让你看见的是文件“内容”,相当于在Windows下使用记事本的方式打开文件)./文件名:这个命令可以执行Linux下的可执行文件C语言:这东西博大精深,我搁着一两句也说不清,如果你不会的话,
- pwnable.kr:lotto-poc
D0j0kur0
frompwnimport*importtime#p=process("./lotto")s=ssh(host='pwnable.kr',user='lotto',password='guest',port=2222)p=s.process('/home/lotto/lotto')while1:data=p.recv()p.sendline('1')p.recv()p.sendline('!!!!
- pwnable.kr input
chenmuxin
思路首先ssh连接后查看c代码是什么,发现这是一个考验linux基础输入知识的题,意味着没接触过的人要大量恶补linux的知识(说的就是自己)intmain(intargc,char*argv[],char*envp[]){printf("Welcometopwnable.kr\n");printf("Let'sseeifyouknowhowtogiveinputtoprogram\n");pri
- java短路运算符和逻辑运算符的区别
3213213333332132
java基础
/*
* 逻辑运算符——不论是什么条件都要执行左右两边代码
* 短路运算符——我认为在底层就是利用物理电路的“并联”和“串联”实现的
* 原理很简单,并联电路代表短路或(||),串联电路代表短路与(&&)。
*
* 并联电路两个开关只要有一个开关闭合,电路就会通。
* 类似于短路或(||),只要有其中一个为true(开关闭合)是
- Java异常那些不得不说的事
白糖_
javaexception
一、在finally块中做数据回收操作
比如数据库连接都是很宝贵的,所以最好在finally中关闭连接。
JDBCAgent jdbc = new JDBCAgent();
try{
jdbc.excute("select * from ctp_log");
}catch(SQLException e){
...
}finally{
jdbc.close();
- utf-8与utf-8(无BOM)的区别
dcj3sjt126com
PHP
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如
- JAVA Annotation之定义篇
周凡杨
java注解annotation入门注释
Annotation: 译为注释或注解
An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, pa
- tomcat的多域名、虚拟主机配置
g21121
tomcat
众所周知apache可以配置多域名和虚拟主机,而且配置起来比较简单,但是项目用到的是tomcat,配来配去总是不成功。查了些资料才总算可以,下面就跟大家分享下经验。
很多朋友搜索的内容基本是告诉我们这么配置:
在Engine标签下增面积Host标签,如下:
<Host name="www.site1.com" appBase="webapps"
- Linux SSH 错误解析(Capistrano 的cap 访问错误 Permission )
510888780
linuxcapistrano
1.ssh -v
[email protected] 出现
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误
运行状况如下:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuratio
- log4j的用法
Harry642
javalog4j
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中
- mysql、sqlserver、oracle分页,java分页统一接口实现
aijuans
oraclejave
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量
oracle分页:
select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<=pageEnd) where num>=pageStart
sqlServer分页:
 
- Hessian 简单例子
antlove
javaWebservicehessian
hello.hessian.MyCar.java
package hessian.pojo;
import java.io.Serializable;
public class MyCar implements Serializable {
private static final long serialVersionUID = 473690540190845543
- 数据库对象的同义词和序列
百合不是茶
sql序列同义词ORACLE权限
回顾简单的数据库权限等命令;
解锁用户和锁定用户
alter user scott account lock/unlock;
//system下查看系统中的用户
select * dba_users;
//创建用户名和密码
create user wj identified by wj;
identified by
//授予连接权和建表权
grant connect to
- 使用Powermock和mockito测试静态方法
bijian1013
持续集成单元测试mockitoPowermock
实例:
package com.bijian.study;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
import or
- 精通Oracle10编程SQL(6)访问ORACLE
bijian1013
oracle数据库plsql
/*
*访问ORACLE
*/
--检索单行数据
--使用标量变量接收数据
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
select ename,sal into v_ename,v_sal
from emp where empno=&no;
dbms_output.pu
- 【Nginx四】Nginx作为HTTP负载均衡服务器
bit1129
nginx
Nginx的另一个常用的功能是作为负载均衡服务器。一个典型的web应用系统,通过负载均衡服务器,可以使得应用有多台后端服务器来响应客户端的请求。一个应用配置多台后端服务器,可以带来很多好处:
负载均衡的好处
增加可用资源
增加吞吐量
加快响应速度,降低延时
出错的重试验机制
Nginx主要支持三种均衡算法:
round-robin
l
- jquery-validation备忘
白糖_
jquerycssF#Firebug
留点学习jquery validation总结的代码:
function checkForm(){
validator = $("#commentForm").validate({// #formId为需要进行验证的表单ID
errorElement :"span",// 使用"div"标签标记错误, 默认:&
- solr限制admin界面访问(端口限制和http授权限制)
ronin47
限定Ip访问
solr的管理界面可以帮助我们做很多事情,但是把solr程序放到公网之后就要限制对admin的访问了。
可以通过tomcat的http基本授权来做限制,也可以通过iptables防火墙来限制。
我们先看如何通过tomcat配置http授权限制。
第一步: 在tomcat的conf/tomcat-users.xml文件中添加管理用户,比如:
<userusername="ad
- 多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
bylijinnan
java多线程
public class IncDecThread {
private int j=10;
/*
* 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
*/
public static
- 买房历程
cfyme
2015-06-21: 万科未来城,看房子
2015-06-26: 办理贷款手续,贷款73万,贷款利率5.65=5.3675
2015-06-27: 房子首付,签完合同
2015-06-28,央行宣布降息 0.25,就2天的时间差啊,没赶上。
首付,老婆找他的小姐妹接了5万,另外几个朋友借了1-
- [军事与科技]制造大型太空战舰的前奏
comsci
制造
天气热了........空调和电扇要准备好..........
最近,世界形势日趋复杂化,战争的阴影开始覆盖全世界..........
所以,我们不得不关
- dateformat
dai_lm
DateFormat
"Symbol Meaning Presentation Ex."
"------ ------- ------------ ----"
"G era designator (Text) AD"
"y year
- Hadoop如何实现关联计算
datamachine
mapreducehadoop关联计算
选择Hadoop,低成本和高扩展性是主要原因,但但它的开发效率实在无法让人满意。
以关联计算为例。
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中?
&nbs
- 用户模型中修改用户信息时,密码是如何处理的
dcj3sjt126com
yii
当我添加或修改用户记录的时候对于处理确认密码我遇到了一些麻烦,所有我想分享一下我是怎么处理的。
场景是使用的基本的那些(系统自带),你需要有一个数据表(user)并且表中有一个密码字段(password),它使用 sha1、md5或其他加密方式加密用户密码。
面是它的工作流程: 当创建用户的时候密码需要加密并且保存,但当修改用户记录时如果使用同样的场景我们最终就会把用户加密过的密码再次加密,这
- 中文 iOS/Mac 开发博客列表
dcj3sjt126com
Blog
本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息。
本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新。
本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本。这里有导入教程。
- js去除空格,去除左右两端的空格
蕃薯耀
去除左右两端的空格js去掉所有空格js去除空格
js去除空格,去除左右两端的空格
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
- SpringMVC4零配置--web.xml
hanqunfeng
springmvc4
servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。
ServletContainerInitializer:启动容器时负责加载相关配置
package javax.servlet;
import java.util.Set;
public interface ServletContainer
- 《开源框架那些事儿21》:巧借力与借巧力
j2eetop
框架UI
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。
故事1:巧借力,乌鸦也可以吃核桃
有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。
核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,
- JQuery EasyUI 验证扩展
可怜的猫
jqueryeasyui验证
最近项目中用到了前端框架-- EasyUI,在做校验的时候会涉及到很多需要自定义的内容,现把常用的验证方式总结出来,留待后用。
以下内容只需要在公用js中添加即可。
使用类似于如下:
<input class="easyui-textbox" name="mobile" id="mobile&
- 架构师之httpurlconnection----------读取和发送(流读取效率通用类)
nannan408
1.前言.
如题.
2.代码.
/*
* Copyright (c) 2015, S.F. Express Inc. All rights reserved.
*/
package com.test.test.test.send;
import java.io.IOException;
import java.io.InputStream
- Jquery性能优化
r361251
JavaScriptjquery
一、注意定义jQuery变量的时候添加var关键字
这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:
$loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的
二、请使用一个var来定义变量
如果你使用多个变量的话,请如下方式定义:
. 代码如下:
var page
- 在eclipse项目中使用maven管理依赖
tjj006
eclipsemaven
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就 把
- 中国天气网省市级联页面
x125858805
级联
1、页面及级联js
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&l