算是新的一年,本来早早的就起来,打开电脑,一遍一遍的刷着微博,刷不出新的就刷新网页,实在想写点什么,打上行字又开始发呆,胡思乱想,不知道从哪里写起。 一直按部就班的上学,升学,上学,生活无忧无虑,年复一年,最近看到越来越多以前的同学结婚,就好像忽然之间长大了,自小喜欢看动画片不知道什么时候再也看不下去了,突然发现再也没人逼着你去学习,不许谈恋爱已经变成单身都成了一种失败,原来已经一只脚已经迈进了社会,有的东西留在记忆力,再也找不回。都已经大三,上半个学期眨眼就完,剩下的一年半也就是十几年学的一个尾巴,恍惚之间就过去了,前面有几条路可以选择,不过只能靠自己判断,父母终于没办法再帮上忙了,20年来真是一场梦,才刚刚清醒。 2015年已经到了,不论2014年做的好或者坏,都已经过去了,新的一年要定下目标了,每年的1月1日回来还愿,是继续浑浑噩噩的睡下去,还是努力起来,不枉最后这么点青春。 1,生活。减肥,体育锻炼+控制饮食,不以为减肥是一个很难的事情,该做的做到便好。早睡早起,晚上10点半上床,早上7点起,随着天变长再慢慢的改早。慢慢习惯中午不再回宿舍,晚自习到十点。 2,性格。很努力的走出自己那间小小的黑屋子。什么该做什么不该做经常想一想,不要一见女生就瞬间开启高冷模式,本来是个蛮有意思的人,不要活的像一根冰雕,冷的让人不敢靠近,虽然已经努力的改变了很多,但改变性格毕竟不是一件短时间就能做到的事,记得经常提醒自己,要勇敢,要说出来,对别人好点,再好点,努力的把话题谈开,多一些笑容,多一点耐心。 3,爱情。希望能遇到一个合的来,双方都有情意,到某天不得不做决定的时候,你我都愿意为对方放弃很多东西。虽然有些东西可遇却不可求,但若有蛮中意的人选便尽力的追求,坦诚,认真,不胡思乱想,自困囚笼,自己能做到的,努力去做到最好。无论成败得失都坦然接受,得之即幸,失之随命。

漏洞挖掘基础之格式化字符串

0x00 序

格式化字符串漏洞是一个很古老的漏洞了,现在几乎已经见不到这类漏洞的身影,但是作为漏洞分析的初学者来说,还是很有必要研究一下的,因为这是基础。

0x01 基础知识—栈

Read more »

主要涉及到的函数 include(),require()、include_once(),require_once() magic_quotes_gpc()、allow_url_fopen()、allow_url_include()、move_uploaded_file() 、readfile() file()、and file_get_contents()、upload_tmp_dir()、post_max_size()、and max_input_time()等 典型漏洞代码: 黑盒判断方法: 单纯的从URL判断的话,URL中path、dir、file、pag、page、archive、p、eng、语言文件等相关关键字眼的时候,可能存在文件包含漏洞。

本地包含漏洞的利用(这里先忽略截断问题)

Read more »

c#是老师讲的课,这个老师技术可能很好,但是教的一般般,很多东西都是自己查的,尤其是面向对象那块,一团乱麻。 算上上课总共做了大约9个小时,很多地方都没有优化,不过还是能运行的。
\[code lang="csharp"\] using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace text { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public string cout(string a, int c) //获得输入 { //int b = a.ToString().Length; int f; int.TryParse(a, out f); //a当前文本框内容,f内容的int类型 string d = (f * 10 + c).ToString(); //c加上的数 return d; } public void clear() //清屏 { int temp1 = 0; string temp2 = Convert.ToString(temp1); textBox1.Text = temp2; } public void clearall() //清零 { int temp1 = 0; string temp2 = Convert.ToString(temp1); textBox1.Text = temp2; tempdata = temp1; tempdata1 = temp1; } public void clearcache() //清缓存 { int temp1 = 0; tempdata = temp1; tempdata1 = temp1; } public static string tempfunction; //运算符号 public static double tempdata = 0; //存放临时变量 public static double tempdata1 = 0; //存放临时变量 public void datacache(string str) { switch (str) { case "+": tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata1 + tempdata; break; case "-": tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata1 - tempdata; break; case "*": tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata1 * tempdata; break; case "÷": tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata1 / tempdata; break; } clear(); } private void textBox1\_TextChanged(object sender, EventArgs e) { } private void button14\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 0); } private void button9\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 1); } private void button10\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 2); } private void button11\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 3); } private void button5\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 4); } private void button6\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 5); } private void button7\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 6); } private void button1\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 7); } private void button2\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 8); } private void button3\_Click(object sender, EventArgs e) { string temp = textBox1.Text; textBox1.Text = cout(temp, 9); } private void button4\_Click(object sender, EventArgs e) //清空操作 { clearall(); } private void button15\_Click(object sender, EventArgs e) //加 { if (tempdata == 0) { double.TryParse(textBox1.Text, out tempdata); clear(); } else { datacache(tempfunction); tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata + tempdata1; clear(); } tempfunction = "+"; } private void button13\_Click(object sender, EventArgs e) //等 { switch (tempfunction) { case "+": double.TryParse(textBox1.Text, out tempdata1); textBox1.Text = (tempdata1 + tempdata).ToString(); clearcache(); break; case "-": double.TryParse(textBox1.Text, out tempdata1); textBox1.Text = (tempdata - tempdata1).ToString(); clearcache(); break; case "*": double.TryParse(textBox1.Text, out tempdata1); textBox1.Text = (tempdata1 * tempdata).ToString(); clearcache(); break; case "÷": double.TryParse(textBox1.Text, out tempdata1); textBox1.Text = (tempdata / tempdata1).ToString(); clearcache(); break; } } private void button16\_Click(object sender, EventArgs e) //减 { if (tempdata == 0) { double.TryParse(textBox1.Text, out tempdata); clear(); } else { datacache(tempfunction); tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata + tempdata1; clear(); } tempfunction = "-"; } private void button12\_Click(object sender, EventArgs e) //乘 { if (tempdata == 0) { double.TryParse(textBox1.Text, out tempdata); clear(); } else { datacache(tempfunction); tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata1 * tempdata; clear(); } tempfunction = "*"; } private void button8_Click(object sender, EventArgs e) //除 { if (tempdata == 0) { double.TryParse(textBox1.Text, out tempdata); clear(); } else { datacache(tempfunction); tempdata1 = tempdata; double.TryParse(textBox1.Text, out tempdata); tempdata = tempdata1 / tempdata; clear(); } tempfunction = "÷"; } } } \[/code\]

formatCode 是可选的格式化代码字符串。(详细内容请搜索“格式化字符串”查看) 必须用“{”和“}”将格式与其他字符分开。如果恰好在格式中也要使用大括号,可以用连续的两个大括号表示一个大括号,即: “{ {”或者“}}”。
常用格式举例:

  • (1) int i=12345; this.textBox1.Text=i.ToString(); //结果 12345(this指当前对象,或叫当前类的实例) this.textBox2.Text=i.ToString(“d8”); //结果 00012345
  • (2) int i=123; double j=123.45; string s1=string.Format(“the value is {0,7:d}”,i); string s2=string.Format(“the value is {0,7:f3}”,j); this.textBox1.Text=s1 ; //结果 the value is 123 this.textBox2.Text=s2; //结果 the value is 123.450
    Read more »

村服,和前村长交流过程中发现自己和他没在一个平台,当时也没在意,一个村服有两个或者三个的在论坛贴吧里也见人说过。 然后这几天合服,因为我所在的平台我是在一服,而前村长的平台已经一百多服了,所以我上了他的平台看看前面几个服的实力 中间突发奇想,既然有两个入口,那么就可能有更多的入口,于是 1,首先F12 看源码,发现是flash的源是http://s**.sg2.****.com/api/?charset=utf8&format=jso……. 找到这个平台,然后根据合服公告找到了我自己的区 2,想到一般情况下能想通的服应该都是一个公司开的,于是我想到网站备案信息,在这里查www.miitbeian.gov.cn/publish/query/indexFirst.action,先从域名查公司,然后查公司的名称,该公司下的域名就都出来了,我这里查出来了十来条,其中验证过的能上我自己的服的有五六个,这时候我心里草泥马已经开始奔腾 3, 然后我继续搞,因为我那个平台因为没备案被zf搞过,估计他们这公司的没备份的应该不少,于是用 网站同ip域名查询,61.147.75.2 112.84.189.30 112.84.189.2 113.196.70.192 ,尼玛亮瞎了最多的这个61.147.75.2下面有三十个站,也就是三十个平台,刚开始我还注册个号去看看是不是,后来干脆懒得注册了,只要看见合服公告的直接记,然后就没有然后了

出行前的一些准备: 1,宣化到北京站的时刻表 2604 00:46 03:56 不在北京过夜的情况下可以看天安门升旗 K274 02:47 07:07 到北京北站 K264 03:53 07:15 最晚 K618 18:37 21:39 好像已经没公交了 K44 16:39 19:42 2,北京站到天安门 1)可以做地铁二号线到前门站下车,从东北口出站往北走。 2)从火车站出站直接北行,到建国门内大街,东走,过路,做一路公交,到天安门东。 3)直接步行,约2600米 行程: 先打个头,有时间再回来写吧,以至于不要忘掉

首先在贴吧看到了一个小伙伴花样蛋疼的贴子http://tieba.baidu.com/p/2966875374,忍不住自己动手搞一搞。 1 ,首先准备好虚拟机   克隆了以前用的那个,把别的软件都删除干净,然后把这几个家伙放进去。 2 ,装完重启之后,系统直接卡的无法操作了,玩不下去了

去鸡鸣山过去好几天了,总想写点东西,但一直拖者,今天好不容易有点时间,便写一写。 大概下花园稍微出名点的地方也就鸡鸣山,还有听那位大爷说的东北方向的一座山,名字记不清了,不过听说比鸡鸣山还要高。 鸡鸣山据称为海拔1128.9米,其实相对算一下,张家口这里的海拔就有六百多米,向上爬的也就四百来米而已,比起名山大泽来,实在算不得高。 到了汽车站为了省一点钱,没有打车,直接沿着公路朝南走,结果走了半天没有找到入口,问路两次都给指的不怎么清楚,最后甚至还爬上了一个野山顶,然后十分艰难的才下来了,手破了两处,现在还没有好,下来之后不得已沿原路返回,又走好几里地才回了汽车站,问出租要至少25,果断徒步回返,这是拿我当冤大头呢。回来的时候观察了一下,发现是到一个路口向东拐弯,于是沿着公路一直走,中间问了一个门口歇着的大爷,叫我过桥,当时觉的这个方向对就没什么问题了,对他的话也没在意,走了大约四五里地,哈,鸡鸣山风景区欢迎你,走之,盘山公路还是比较费力气的,不过最终还是到了收费站。到的时候估计已经12点往后了,因为没带手机,所以时间也不是很清楚。 上去之后直接在售票去买了票,学生票40,成人60,然后在刚进去的阁楼背阴处吃了个面包和两根火腿,午餐搞定,也没多歇着,怕上去再下来时间太晚赶不上回宣化的汽车,一路上去印象最深的就是漫山的杏花(应该是杏花,杏花桃花樱花什么的都很像),山道还是比较好走的,向上走的时候已经有很多人下来了,一部分是携家带口的爬山,还有一些应该是本地的学生,一波十来个,有那么两三波,基础设施还是不错的,不过有的地方保护措施做的不是很好,掉下去就是几十米,好在山道修的还算宽。 上到大约三分之一的时候有一个大妈要给什么财运,我冲她摆手一笑,她也笑了,也就不再多说什么,财运,命运这种东西,信则有,花钱你情我愿,多说不了什么,上面还有好几座庙宇,不过装修的占大多数,靠西的这个没有进去,从山顶上看还是不笑的,靠东北的有观音庙,进去只是看了几眼,院子中央有一个软垫,明白供人们跪拜用的,我到是不去拜,敬佛,不信佛,心性自然,出门时候看到两个雕塑的门神装在透明的玻璃箱里,摆在门口的两侧,我当时就想,万一真有个牛神鬼面,这门神出的来吗。 山道的中间一段还在修,并不是特别好走,不过到了上半部分路又好走起来,人字形的山道,上一段也要歇一会。快到山顶的时候立着一个牌子:“此处海拔998米”,看到时候心情是有些惊喜的,山顶处还立着个牌子:“恭喜成功登顶”,这时候是最有成就感的,上面的有几间房,当成一个小庙,有一个大爷貌似常住,一口钟,一群孩子们去敲了,引来大爷的一串骂声,总体比较破败,听说是文革的时候都给砸了,实在是看头不多。 上去后看太阳也就2,3点的样子,时间还比较早,就在房的后面把衣服晒干,后面有一只鸡,当时没反应过来,以为纯粹是家养的,下蛋或是吃肉的,后来一想,这不鸡鸣山么,没有一只鸡怎么能行呢? 从山顶朝南能看到鸡鸣驿,铁路,还有洋河,农田方形分布,一个人坐石头上眺远十分舒坦。 上山的时候碰到了一个北京过来玩的,问我知道我是宣化来的,第二句就是:“自己开车来的?”,嗯啊,我当时要是点头就装逼成功了,然后告诉他,我在宣化某部队里有什么样的职位,瞬间实权在握的青年翘楚啊,反正宣化那么多部队,他肯定不清楚具体那个那个的,我随便说一个知道的,绝对装的妥妥的,不过还是把大实话都说了,哈哈,不习惯撒谎啊。 下山碰到一个老大爷,跟着他一路聊下来的,虽然他说的话我有大约三分之二听不懂,不过我做了这么多年的英语听力,会做题啊,先说“山顶挺破啊”,然后他说了一大堆,听清了“文(革”两个字,那么就能接话,“文革真是毁了多少东西”,然后他说的应该是文革,如此往复,相谈甚欢,中间一直给我指一条近路,这个确实是热心肠了,非常可爱的一位大爷。 很后悔的是没带手机,很多东西想拍都拍不到,下面还是找了网上几张。 不知不觉打了一个小时,今晚英语单词估计够呛了,虽然感觉说的很多都没什么太大意义,记下来,总有一天忘记了,能多想起些来,我来过这里。 鸡鸣山远眺 观音寺观音寺 201112111056048529       正门 u=644591791,2675792201&fm=23&gp=0       从山顶拍摄 OLYMPUS DIGITAL CAMERA