W1lsp0 发布的文章 - 一个CTFer的小窝
首页
状态
友链
留言
追番
更多
视频
搜 索
1
Docker常用命令
56 阅读
2
Jet全家桶和Navicat激活(仅可用于学生学习使用)
43 阅读
3
CTF show web入门之文件上传
39 阅读
4
华为交换机&路由器命令
37 阅读
5
软考基本知识
33 阅读
CTF
SQL注入
文件漏洞
PHP特性
命令执行
云存储
云网络
Linux
kali
OpenWrt
登录
搜 索
标签搜索
MySQL
数据库
DNS
根服务器
根节点
软件
激活
HVV
云安全
网络安全
W1lsp0
累计撰写
24
篇文章
累计收到
2
条评论
首页
栏目
CTF
SQL注入
文件漏洞
PHP特性
命令执行
云存储
云网络
Linux
kali
OpenWrt
页面
状态
友链
留言
追番
视频
用户登录
登录
找到
21
篇与
W1lsp0
相关的结果
2021-08-31
Kali安装配置过程中的一些nt操作和坑
Kali安装配置过程中的一些nt操作和坑安装过程中最后就选择安装的包,这个时候没有选择默认项自己选的。然后进去换源发现没有任何工具,我觉得kali的工具肯定是有源的。然后全网寻找发现了[em]apt install kali-linux-all[/em]但是当我输入的时候发现没有任何变化,这个时候我输入[hi]apt install kali-linux-[/hi]观察提示发现了[em]kali-linux-default[/em]输入无果又发现了[em]kali-linux-everything[/em]果断输入发现出现了kali的应用。没有驱动。WIFI在apt更新也是没有驱动,网上只有博通网卡的驱动。最后发现了英特尔官网有驱动。在官网驱动,寻找自己网卡的驱动包然后下载。 tar zxvf iwlwifi-9000-pu-b0-jf-b0-34.618819.0.tgz -C ./ #提取到当前目录 sudo cp iwlwifi-9000-pu-b0-jf-b0-34.618819.0/* /lib/firmware/ #复制到指定目录 sudo update-grub #更新grub完成所有的Win和Linux双系统的时间错乱问题那么为什么双系统切换之后系统的时间会错乱呢? 先了解以下UTC以及GMT。 格林尼治标准时间(GMT,旧译“格林威治平均时间”或“格林威治标准时间”)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。 协调世界时(UTC) 英文:Coordinated Universal Time ,别称:世界统一时间,世界标准时间国际协调时间, 协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。 GMT(Greenwish Mean Time 格林威治平时),这是UTC的民间名称。GMT=UTC。 因为两个系统计算时间的方式是不一样的,Windows直接使用系统硬件的时间作为本地时间,即操作系统中显示的时间是使用的BIOS中的时间。 而Linux/Unix/Mac则是把硬件时间(BIOS中的时间)当作UTC,其操作系统中显示的时间是对硬件时间计算后得到的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8。而Windows显示的是硬件时间,所以两个时间会发生错乱。解决办法: Win10 新建一个文本文档,例如在桌面上,然后将一下内容粘贴到新建的文本文档文件中,之后保存并重命名为*.bat,双击运行一次即可。@echo off color 0a Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 echo. Linuxtimedatectl set-local-rtc 1 --adjust-system-clock安装deepin-wine,安装QQ的时候报错无法定位软件包:libappindicator3-1_libappindicator3-1软件包安装失败这个时候直接定位安装是错误的,如果直接安装这个包也是存在依赖问题整改时候需要安装两个包libindicator3-7和libappindicator3-1直接[em]dpkg -i 包名[/em]进行安装安装完com.qq.im.deepin后发现无法输入密码和账号。这个时候检测输入法是不是启用的非官方输入法,这个时候手动切换成官方的默认英文输入法就可以。安装NVIDIA显卡驱动,目前我发现无法使用nvidia-prime进行独显和核显的切换,安装完成后只能使用独显.。(目前网上所有的办法这个问题都是没有解决的,在看官方文档看看能不能解决这个问题)sudo apt install -y nvidia-driver nvidia-cuda-toolkit
2021年08月31日
10 阅读
2 评论
0 点赞
2021-08-21
多个域名指向同一个IP访问文件造成的跨域问题
IPv6域名去访问IPv4域名底下的js文件报错贴一个报错代码Access to XMLHttpRequest at 'http://wlsp.icu:81/usr/plugins/Pio/models/pio/model.moc' from origin 'http://bt.wlsp.icu' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. l2d.js:1 GET http://wlsp.icu:81/usr/plugins/Pio/models/pio/model.moc net::ERR_FAILED解决问题分析是由于浏览器发现请求不同域名拒绝服务造成的需要构造请求头来证明资源可以使用(服务器为nginx)server { listen 8999; listen 80; listen [::]:80; listen 9999; listen [::]:9999; listen [::]:8999; server_name 192.168.0.109 wlsp.icu bt.wlsp.icu; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/typecho; # 在nginx服务器中添加下列代码 add_header Access-Control-Allow-Origin *; # 允许访问的域名 add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; # 应该是允许访问的方法, add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';} # 解释 Access-Control-Allow-Origin 服务器默认是不被允许跨域的。给Nginx服务器配置`Access-Control-Allow-Origin *`后,表示服务器可以接受所有的请求源(Origin),即接受所有跨域的请求。 Access-Control-Allow-Headers 是为了防止出现以下错误: Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response. 这个错误表示当前请求Content-Type的值不被支持。其实是我们发起了"application/json"的类型请求导致的。这里涉及到一个概念:预检请求(preflight request),请看下面"预检请求"的介绍。 Access-Control-Allow-Methods 是为了防止出现以下错误: Content-Type is not allowed by Access-Control-Allow-Headers in preflight response. 给OPTIONS 添加 204的返回,是为了处理在发送POST请求时Nginx依然拒绝访问的错误 发送"预检请求"时,需要用到方法 OPTIONS ,所以服务器需要允许该方法。贴一下大佬博客
2021年08月21日
7 阅读
2 评论
0 点赞
2021-08-20
给一个师哥搞文件发现的编码问题
图片图片以二进制流的形式为xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x06但使用burpsuit直接输出的时候却是乱码格式,然后使用python来输出的时候也为乱码格式(其实为UTF-8),也就是传输的时候为UTF-8的格式传输的。这个时候查看字符串的格式为 "str"。这个时候使用字符串转字节流的方式进行输出,输出了和代码中相同的字符串。这说明以二进制读取图片的时候读取的流为字节流。但是转换的时候会有错误,只要使用下面的代码忽略错误就行burp0_data.decode('utf-8','ignore')贴一下代码import requests with open('image.png','rb')as f: img=f.read() burp0_url = "https://" burp0_cookies = burp0_headers = burp0_data = b'------WebKitFormBoundaryT4EDabPQX1udNKUR\r\nContent-Disposition: form-data; name=\"qh_img\"; filename=\"777.jpg\"\r\nContent-Type: image/jpeg\r\n\r\n'+img+b'\r\n------WebKitFormBoundaryT4EDabPQX1udNKUR--\r\n' print(burp0_data.decode('utf-8','ignore')) r=requests.post(burp0_url, headers=burp0_headers, cookies=burp0_cookies, data=burp0_data) print(r) print(r.text)
2021年08月20日
19 阅读
1 评论
0 点赞
2021-08-20
UZZ疫情填报出现的问题
疫情填报出现的问题解决信息都是存放在本地的,每天第一次打开网页的时候是没有信息的,这就需要自己去填写。其中需要修改的元素,其中的token和code获取详情看这篇文章:UZZ疫情自动填报,省市区代码请去国家统计局:全国统计用区划代码和城乡划分代码查询自己的顺序a = {'name': [ #截图保存的名字 'access-token', #抓包获取的token 'unique-code', #抓包获取的unique-code ['籍贯', '家庭住址', '详细地址']], #填写的住址 [省份代码, 城市代码, 区县代码] } import time import requests from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains def Message(client, message, message_address): print(message_address) # 籍贯 client.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/div/form/div/div[5]/div/input').send_keys(message[0]) # 家庭住址 client.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/div/form/div/div[6]/div/input').send_keys(message[1]) time.sleep(2) # 选择现所在住址 js1 = "document.documentElement.scrollTop=100" client.execute_script(js1) time.sleep(2) cc=client.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/div/form/div/div[7]/div/div[1]/div/div/div/input').click() time.sleep(2) print('填报省份') for i in range(message_address[0]): # 要拖动的省定位 action_chains = ActionChains(client) aa = client.find_element_by_xpath( '//*[contains(@id,"am-picker-popup-container-")]/div/div/div/div/div/div/div/div/div[2]') # 第一步:在滑块处按住鼠标左键 action_chains.click_and_hold(aa) # 第二步:相对鼠标当前位置进行移动 action_chains.move_to_element_with_offset(aa, 0.3, 0) # 第三步:释放鼠标 action_chains.release() # 执行动作 action_chains.perform() time.sleep(2) print('填报城市') for i in range(message_address[1]): # 要拖动的城市定位 action_chains = ActionChains(client) aa = client.find_element_by_xpath( '//*[contains(@id,"am-picker-popup-container-")]/div/div/div/div/div/div/div/div[2]/div[2]') # 第一步:在滑块处按住鼠标左键 action_chains.click_and_hold(aa) # 第二步:相对鼠标当前位置进行移动 action_chains.move_to_element_with_offset(aa, 0.3, 0) # 第三步:释放鼠标 action_chains.release() # 执行动作 action_chains.perform() time.sleep(2) print('填报区县') for i in range(message_address[2]): # 要拖动的区定位 action_chains = ActionChains(client) aa = client.find_element_by_xpath( '//*[contains(@id,"am-picker-popup-container-")]/div/div/div/div/div/div/div/div[3]/div[2]') # 第一步:在滑块处按住鼠标左键 action_chains.click_and_hold(aa) # 第二步:相对鼠标当前位置进行移动 action_chains.move_to_element_with_offset(aa, 0.3, 0) # 第三步:释放鼠标 action_chains.release() # 执行动作 action_chains.perform() time.sleep(2) # 点击确定 client.find_element_by_xpath( '//*[contains(@id,"am-picker-popup-container-")]/div/div/div/div/div/div/div[1]/div[3]').click() # 填写详细地址 client.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/div/form/div/div[7]/div/div[2]/div/input').send_keys( message[2]) # 选择否 for i in range(8, 20): a = '//*[@id="root"]/div/div/div[2]/div/form/div/div[' + str(i) + ']/div/label/span/input' client.find_element_by_xpath(a).click() def UZZ(message): session = requests.Session() # 创建一个session对象 headers = { "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", "User-Agent": "I am your mother", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,image/tpg,*/*;q=0.8", "access-token": message[1][0], "unique-code": message[1][1], "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,en-US;q=0.9" } url = "http://mcpn.uzz.edu.cn:8080/mobileapi_ydxy/api/lapp/springboard?yyid=info_collect" # 这个网站可以把请求头显示在页面上方便我们验证 req = session.get(url, headers=headers, allow_redirects=False) # 发起get请求 commit_url = req.headers["location"] chrome_options = webdriver.ChromeOptions() # chrome_options.add_argument('--headless') # 可以隐藏窗口 chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--disk-cache-dir=./mcpn.uzz.edu.cn') chrome_options.add_argument('user-agent="I am your mother"') # 浏览器一直处于打开状态 chrome_options.add_experimental_option('excludeSwitches', ['enable-automation']) chrome_options.add_experimental_option("detach", True) # 启用带插件的浏览器 # chrome_options.add_argument("--user-data-dir="+r'C:/Users/99317/AppData/Local/CentBrowser/User Data') client = webdriver.Chrome(options=chrome_options) client.maximize_window() # executable_path谷歌driver的路径 client.get(commit_url) # content = client.page_source # try: # 进入填报页面 client.implicitly_wait(30) client.find_element_by_xpath('/html/body/div/div/div/div[2]/ul/div/div[1]/div/li/a/div/p').click() Message(client, message[1][2], message[1][3]) # 提交 client.implicitly_wait(10) client.find_element_by_xpath('/html/body/div/div/div/div[4]/a').click() # except NoSuchElementException: # pass # 截图 # client.get_screenshot_as_file(message[0] + '.png') # client.quit() data = {'zjk': [ 'OO', '59919', ['山东', '山东', ''], [14,13,6]] } for i in data.items(): # items是返回两个值(key和values)可以换成keys(),values() UZZ(i)写的过程中出现的问题在滑动选择框的选择问题上目前没有办法去解决,点击是无法进行选择的。同时我想直接输入地址,取消了输入框的只读属性也是无法进行输入。由于js太多,就不想去绕过js了。js='var a= document.evaluate("xpath元素",document).iterateNext() a.removeAttribute('readonly')' driver.execute_script(js)无法绕过只能模拟鼠标去操作,点击框使得地图选择弹出。但是在选择的过程中发现了元素相互覆盖的问题,百度这个问题发现网上给出的解答是因为有一个其他的元素覆盖了要点击的元素,导致点击被吸收。[danger]我发现这个问题只有在取消弹出浏览器窗口的时候才会遇到,当选择浏览器显示的进行操作的时候,这个错误是不会被弹出的。[/danger]网友提供的解决的解决:driver.find_element_by_xpath("//label[text()='表']").click() pages = driver.find_element_by_xpath("//label[text()='表']") driver.execute_script("arguments[0].click();", pages)最后的解决办法为向下滑动进度条,这样的话就不会被遮盖了(这个问题和下拉框问题研究了两天,没想到这么坑) js1 = "document.documentElement.scrollTop=100" client.execute_script(js1)在解决下拉框的时候,采用的鼠标定位拖拽。由于下拉框的限制,每次必须在下拉框指定的范围内进行拖拽,否则会取消控制权。拖拽的过程中每一次的鼠标松开,都会导致下拉框代码的改变,所以每次循环寻找的鼠标定位,要重新创建一个鼠标操作,要不然会每次拖动的位置次数,会比前一次多一个。 for i in range(message_address[0]): # 要拖动的省定位 action_chains = ActionChains(client) #创建一个鼠标操作 aa = client.find_element_by_xpath( '//*[contains(@id,"am-picker-popup-container-")]/div/div/div/div/div/div/div/div/div[2]') # 第一步:在滑块处按住鼠标左键 action_chains.click_and_hold(aa) # 第二步:相对鼠标当前位置进行移动 action_chains.move_to_element_with_offset(aa, 0.3, 0) # 第三步:释放鼠标 action_chains.release() # 执行动作 action_chains.perform() time.sleep(2)
2021年08月20日
3 阅读
1 评论
0 点赞
2021-08-18
UZZ疫情自动填报
UZZ自动填报疫情[info]uzz目前的填报系统已经实现了自动填写,只需要提交即可。[/info]需要使用手机抓包获取"access-token": "unique-code":在chrome中打开"chrome://version/"来查看自己的chrome版本在chrome驱动网站chromedriver下载适配自己的chrome驱动。配置电脑的"chromedriver",将路径加入到所用环境的环境变量中。在49行的代码中添加属于自己的信息,格式为:'name': [ 'access-token','unique-code'],以逗号分割。在45行填写保存图片的目录和图片保存的格式。import time import requests from selenium import webdriver from selenium.common.exceptions import NoSuchElementException def UZZ(name, token, code): session = requests.Session() # 创建一个session对象 headers = { "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", "User-Agent": "I am your mother", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,image/tpg,*/*;q=0.8", "access-token": token, "unique-code": code, "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,en-US;q=0.9" } url = "http://mcpn.uzz.edu.cn:8080/mobileapi_ydxy/api/lapp/springboard?yyid=info_collect" # 这个网站可以把请求头显示在页面上方便我们验证 req = session.get(url, headers=headers, allow_redirects=False) # 发起get请求 commit_url = req.headers["location"] chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') # 可以隐藏窗口 chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--disk-cache-dir=./mcpn.uzz.edu.cn') chrome_options.add_argument('user-agent="I am your mother"') client = webdriver.Chrome(options=chrome_options) # executable_path谷歌driver的路径 client.get(commit_url) # content = client.page_source try: client.implicitly_wait(30) client.find_element_by_xpath('/html/body/div/div/div/div[2]/ul/div/div[1]/div/li/a/div/p').click() client.implicitly_wait(10) client.find_element_by_xpath('/html/body/div/div/div/div[4]/a').click() except NoSuchElementException: pass picture_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) client.get_screenshot_as_file('E:\\' + name + '.png') client.quit() data = {'name': [ 'access-token', 'unique-code'], } for i in data.items(): # items是返回两个值(key和values)可以换成keys(),values() UZZ(i[0], i[1][0], i[1][1]) print(i[0] + '截图完毕') time.sleep(10)安卓手机获得个人信息的办法下载附件中的“抓包.apk”并安装。根据图操作搜索并选择“枣院APP”选择开始此时进入"枣院微门户"APP并且进入疫情填报界面抓包完成点击进入历史抓包5寻找具有相同域名或具有相同IP和端口的包,点击进入寻找信息
2021年08月18日
2 阅读
1 评论
0 点赞
1
...
3
4
5